Jak poprawnie uruchomić test containers?

0

Cześć :) Czy ktoś miał podobny problem? Dopiero się uczę więc będę wdzięczna za pomoc. Chcę zrobić testy z testcontainers, ale w programie widzę connection null, zapewne dlatego bo nie mogę utworzyć kontenera dla obrazu testcontainers. Wyskakuje mi błąd:

panic: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running? 

Jak co mam Windows 11. I oczywiście Dockera mam uruchomionego, inne kontenery działają normalnie. Będę wdzięczna za jakieś podpowiedzi gdzie patrzeć. Pozdrawiam!

1

Rzucam hasłem - spróbuj docker-in-docker

0

Masz Docker Desktop czy np Ranchera?

0

Dziękuję wszystkim, już rozumiem o co chodzi! Mam Docker Windows. Już się biorę za sprawdzanie Waszych podpowiedzi :)

0

Cześć wszystkim, wracam jeszcze raz z podobnym pytaniem. Udało mi się ogarnąć testcontainers (zmiana wersji w pom na najnowszą) i już rusza normalnie, ale teraz przestał mi chodzić kontener mysql.
Wyskakuje błąd:

[ERROR] [MY-000068] [Server] unknown option '--skip-host-cache'.
[ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
[ERROR] [MY-010119] [Server] Aborting

Tak jakby obie wersje nie mogły ze sobą współpracować. Siedzimy z kolegą, który programuje od roku i nie możemy ogarnąć. Zmieniałam już wersje myswl-connector kilka razy, ale nie chce ruszyć.

Moje zależności:

<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>mysql</artifactId>
    <version>1.19.3</version>
    <scope>test</scope>
</dependency>
<dependency>
    <groupId>org.testcontainers</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>1.19.3</version>
    <scope>test</scope>
</dependency>
     <dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>8.0.33</version>
    <scope>test</scope>
</dependency>   

Będę więczna jeśli ktoś będzie potrafił coś podpowiedzieć. Pozdrawiam

3
em1987 napisał(a):

Cześć wszystkim, wracam jeszcze raz z podobnym pytaniem. Udało mi się ogarnąć testcontainers (zmiana wersji w pom na najnowszą) i już rusza normalnie, ale teraz przestał mi chodzić kontener mysql.
Wyskakuje błąd:

[ERROR] [MY-000068] [Server] unknown option '--skip-host-cache'.
[ERROR] [MY-013236] [Server] The designated data directory /var/lib/mysql/ is unusable. You can remove all files that the server added to it.
[ERROR] [MY-010119] [Server] Aborting

To błąd pojawiający się w najnowszych wersjach:
zobacz to obejście problemu
https://github.com/testcontainers/testcontainers-java/issues/8130#issuecomment-1900202215

0

Dzięki!

1

Gdyby ktoś jeszcze miał kiedyś z tym problemy to polecam stworzyć w testach ścieżkę resources/mysql-default-conf i tu stworzyć plik my.cnf z danymi, które wklejam pod spodem. Konieczne jest, żeby zamiast "skip-host-cache" mieć "host_cache_size = 0", wtedy kontener mysql działa już normalnie. Ja miałam z tym wszystkim problem ponieważ pobrałam najnowszego Dockera, kolega miał wersję 4.17 i wszystko mu działało normalnie.

[mysqld]
user = mysql
datadir = /var/lib/mysql
port   		= 3306
#socket 		= /tmp/mysql.sock
skip-external-locking
key_buffer_size = 16K
max_allowed_packet = 1M
table_open_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
host_cache_size = 0
skip-name-resolve

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!
#
#skip-networking
#server-id      	= 1

# Uncomment the following if you want to log updates
#log-bin=mysql-bin

# binary logging format - mixed recommended
#binlog_format=mixed

# Causes updates to non-transactional engines using statement format to be
# written directly to binary log. Before using this option make sure that
# there are no dependencies between transactional and non-transactional
# tables such as in the statement INSERT INTO t_myisam SELECT * FROM
# t_innodb; otherwise, slaves may diverge from the master.
#binlog_direct_non_transactional_updates=TRUE

# Uncomment the following if you are using InnoDB tables
innodb_data_file_path = ibdata1:10M:autoextend
# You can set .._buffer_pool_size up to 50 - 80 %
# of RAM but beware of setting memory usage too high
innodb_buffer_pool_size = 16M
#innodb_additional_mem_pool_size = 2M
# Set .._log_file_size to 25 % of buffer pool size
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 50

1 użytkowników online, w tym zalogowanych: 0, gości: 1