Я хочу создать файл для создания докеров, сочетающий пользовательскую среду maven, конкретную среду выполнения и среду выполнения сервера mysql. Составной файл выглядит так:
version: '3.7'
services:
mysql:
image: mysql:5.7.25
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_DATABASE: dbname
MYSQL_USER: dbuser
MYSQL_ROOT_PASSWORD: dbpass
volumes:
- ./mysql:/tmp
maven:
build:
context: ./maven
args:
git_user: gituser
git_pw: gitpw
command: tail -F anything
runtime:
image: custom_dockerhub_image
links:
- "mysql:db"
- "maven:mav"
volumes:
- ./:/tmp
command: tail -F anything
Все службы запущены и работают, и каждый том привязан. Я хочу запустить определенный скрипт mysql в моем контейнере mysql для настройки моей базы данных. Моя первая ручная попытка состояла в том, чтобы просто использовать
docker-compose run mysql mysql --user = "dbuser" --password = "dbpass" < "mysql/01_schema.sql"
Единственный ответ, который я получаю, это
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
Кроме того, я пытался использовать
docker-compose run mysql service mysql start && mysql --user = "dbuser" --password = "dbpass" < "mysql/01_schema.sql"
Результат был
..
[info] MySQL Community Server 5.7.25 is started.
zsh: command not found: mysql
Я не могу заставить сервер mysql остаться.






Вместо этого вы должны использовать docker-compose exec, docker-compose run запускает команду в новом контейнере.
Работал как шарм! Доку следует читать внимательнее. Спасибо !