image: mysql:8
container_name: learn_db
command: --default-authentication-plugin=mysql_native_password
restart: always
volumes:
- my-db:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_PASSWORD: password
MYSQL_USER: admin
MYSQL_DATABASE: learn
ports:
- "33061:3306"
adminer:
image: adminer
restart: always
ports:
- "8080:8080"
volumes:
my-db:
docker exec -it learn_db /bin/bash
mysql -u root
получаю - ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock'
та же самая 2002 и в админере, в чем проблема?
Потому что подключаться нужно к порту 3306, а не к сокету
База в другом контейнере
Контейнер learn_db, там база
Пропустил container_name, да
Это касаемо админера, ему нужно указать адрес базы как learn_db:3306
Странно как-то В поле сервер писать learn_db:3306 Гуглил похожие конфиги Там пишут просто имя сервиса, и все работает
Ну если порт указывать не надо, то ок, попробуй без него
так смотри что слушает твой мускуль. если он не слушает уних сокет - то не удивительно
Обсуждают сегодня