Ronny
и порт нужно использовать оригинальный 3306, он 3305 только на хосте пробрасывается
тоже нет коннекта, пробрасывал чтоб попробовать подключиться к бд с хоста
Иван
а из bash в app контейнере пробовал использовать mysql cli?
Иван
ну или в самом mysql контейнере
Ronny
сам mysql контейнер работает отлично
Иван
пингани svc-mysql контейнер из svc-app контейнера, дойдут пакеты?
Иван
через аттач/пинг же?
Запусти в контейнере баш в отдельном терминале: docker exec -it svc-app /bin/bash и там пингуй или через mysql утилиту подключиться пробуй
Иван
тогда sh запустить попробуй
Иван
менеджера пакетов тоже нет?
Ronny
подключился
Иван
через svc-mysql:3306 ?
Иван
или куда подключился?
Ronny
Иван
попробуй через терминальную утилиту mysql подключиться теперь
Ronny
через mysql:3306 не получается
Иван
какая ошибка?
Ronny
Иван
ты из винды пытаешься?
Иван
я говорю из app сервиса пробуй подключится в терминале, там же, где пинг делал, утилита называется mysql
Иван
ну да, только после -h указать mysql, после -p указать пароль, после -u пользователя в mysql
Aleksey
Можно ли нормально VOLUME сделать в докерфайле, или только компоуз?
Можно ну лучше композер и там и там это будет одинаково
Иван
ну да, только после -h указать mysql, после -p указать пароль, после -u пользователя в mysql
хотя пароль вроде нужно вводить отдельно после выполнения команды, нужно оставить -p как есть, если я правильно помню
Иван
значит нужно установить утилиту пакетным менеджером
Иван
например через apt, если он есть в контейнере
Иван
apt install mysql-shell
Ronny
так в контейнере драйвер mysql стоит, или это вообще другая история?
Aleksey
?
Сори случайно написал
Aleksey
Иван
так в контейнере драйвер mysql стоит, или это вообще другая история?
другая, мы пытаемся понять подключается ли app к mysql контейнеру через утилиту специальную mysql
Иван
печально
Aleksey
другая, мы пытаемся понять подключается ли app к mysql контейнеру через утилиту специальную mysql
Смотри давай с начала я все пропустил у тебя два контейнера если верить твоему крнфигу
Aleksey
Ronny
Там add
apk add?
Aleksey
apk add?
Угу
Иван
помоги ему поставить mysql cli
Иван
я не знаю как оно в apk называется
Aleksey
Да мне его конфиг приложения
Aleksey
Не нравиться
Ronny
а что с ним?
Aleksey
а что с ним?
Пока решим что все норм, смотри стартуй композ
Aleksey
У тебя все контейнеры поднялись?
Ronny
да
Aleksey
да
Теперь смотри логи приложения dockrer logs контер с приложенем
Aleksey
Там ошибка должна быть конект что там
Ronny
у меня там файбер стоит, который ничего не пишет)
Ronny
Ronny
хз, больше ничего нет
Aleksey
А скюль логи глянь
Ronny
2024-02-21 20:36:03+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.3.0-1.el8 started. 2024-02-21 20:36:03+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql' 2024-02-21 20:36:03+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.3.0-1.el8 started. 2024-02-21 20:36:04+00:00 [Note] [Entrypoint]: Initializing database files 2024-02-21T20:36:04.088607Z 0 [System] [MY-015017] [Server] MySQL Server Initialization - start. 2024-02-21T20:36:04.089937Z 0 [System] [MY-013169] [Server] /usr/sbin/mysqld (mysqld 8.3.0) initializing of server in progress as process 80 2024-02-21T20:36:04.098689Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2024-02-21T20:36:04.890600Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2024-02-21T20:36:06.225273Z 6 [Warning] [MY-010453] [Server] root@localhost is created with an empty password ! Please consider switching off the --initialize-insecure option. 2024-02-21T20:36:09.454261Z 0 [System] [MY-015018] [Server] MySQL Server Initialization - end. 2024-02-21 20:36:09+00:00 [Note] [Entrypoint]: Database files initialized 2024-02-21 20:36:09+00:00 [Note] [Entrypoint]: Starting temporary server 2024-02-21T20:36:09.563961Z 0 [System] [MY-015015] [Server] MySQL Server - start. 2024-02-21T20:36:09.759717Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.3.0) starting as process 124 2024-02-21T20:36:09.773774Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2024-02-21T20:36:09.900326Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2024-02-21T20:36:10.125716Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2024-02-21T20:36:10.125766Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. 2024-02-21T20:36:10.128457Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. 2024-02-21T20:36:10.148170Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Socket: /var/run/mysqld/mysqlx.sock 2024-02-21T20:36:10.148267Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.3.0' socket: '/var/run/mysqld/mysqld.sock' port: 0 MySQL Community Server - GPL. 2024-02-21 20:36:10+00:00 [Note] [Entrypoint]: Temporary server started. '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock' Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/leapseconds' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/tzdata.zi' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it. Warning: Unable to load '/usr/share/zoneinfo/zone1970.tab' as time zone. Skipping it. 2024-02-21 20:36:12+00:00 [Note] [Entrypoint]: Creating database Store 2024-02-21 20:36:12+00:00 [Note] [Entrypoint]: Creating user mysql 2024-02-21 20:36:12+00:00 [Note] [Entrypoint]: Giving user mysql access to schema Store 2024-02-21 20:36:12+00:00 [Note] [Entrypoint]: Stopping temporary server 2024-02-21T20:36:12.650461Z 13 [System] [MY-013172] [Server] Received SHUTDOWN from user root. Shutting down mysqld (Version: 8.3.0). 2024-02-21T20:36:13.919088Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.3.0) MySQL Community Server - GPL. 2024-02-21T20:36:13.919130Z 0 [System] [MY-015016] [Server] MySQL Server - end. 2024-02-21 20:36:14+00:00 [Note] [Entrypoint]: Temporary server stopped 2024-02-21 20:36:14+00:00 [Note] [Entrypoint]: MySQL init process done. Ready for start up.
Ronny
2024-02-21T20:36:14.668727Z 0 [System] [MY-015015] [Server] MySQL Server - start. 2024-02-21T20:36:14.858328Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.3.0) starting as process 1 2024-02-21T20:36:14.866905Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started. 2024-02-21T20:36:14.976645Z 1 [System] [MY-013577] [InnoDB] InnoDB initialization has ended. 2024-02-21T20:36:15.182157Z 0 [Warning] [MY-010068] [Server] CA certificate ca.pem is self signed. 2024-02-21T20:36:15.182207Z 0 [System] [MY-013602] [Server] Channel mysql_main configured to support TLS. Encrypted connections are now supported for this channel. 2024-02-21T20:36:15.185342Z 0 [Warning] [MY-011810] [Server] Insecure configuration for --pid-file: Location '/var/run/mysqld' in the path is accessible to all OS users. Consider choosing a different directory. 2024-02-21T20:36:15.200139Z 0 [System] [MY-011323] [Server] X Plugin ready for connections. Bind-address: '::' port: 33060, socket: /var/run/mysqld/mysqlx.sock 2024-02-21T20:36:15.200493Z 0 [System] [MY-010931] [Server] /usr/sbin/mysqld: ready for connections. Version: '8.3.0' socket: '/var/run/mysqld/mysqld.sock' port: 3306 MySQL Community Server - GPL.
Aleksey
docker logs svc-app и такая картинка
Aleksey
По логу у тебя там InnoDB
Ronny
эт подсистема Mysql
Aleksey
эт подсистема Mysql
Смотри и вот у тебя конфиг на go а куда ты его за пихиваешь
Aleksey
Не вижу
Иван
ты в конфиге svc-app поставил порт 3306 сейчас или у тебя остался 3305?
Ronny
ты в конфиге svc-app поставил порт 3306 сейчас или у тебя остался 3305?
services: mysql: image: mysql restart: always container_name: svc-mysql environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=mysql - MYSQL_PASSWORD=mysql - MYSQL_DATABASE=Store # volumes: # - ./data:/var/lib/mysql/ networks: - appnet app: image: crud restart: always container_name: svc-app ports: - 2777:80 depends_on: - mysql networks: - appnet networks: appnet: cfg := mysql.Config{User: "mysql", Passwd: "mysql", Addr: "mysql:3306", DBName: "Store"}
Ronny
воот так сейчас
Иван
как ты узнаешь, что нет коннекта в app?
Иван
ну и сами ошибки
Aleksey
А в контене с маскль порты открой плиз
Ronny
А в контене с маскль порты открой плиз
а зачем? он же по дефолту будет 3306, не?
Ronny
ок)
Ronny
не дает открыть
Ronny
Error response from daemon: Ports are not available: exposing port TCP 0.0.0.0:3306 -> 0.0.0.0:0: listen tcp 0.0.0.0:3306: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
Ronny
services: mysql: image: mysql restart: always container_name: svc-mysql ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=mysql - MYSQL_PASSWORD=mysql - MYSQL_DATABASE=Store # volumes: # - ./data:/var/lib/mysql/ networks: - appnet
Aleksey
Ага все верно теперь старый композ вырубай удаляй и новый запускай
Ronny
так и сделал