Использование docker-compose exec
, как это не сработало (не знаю почему), но вы можете использовать docker exec
.Вам просто нужно знать имя контейнера или идентификатор.Имя указывается во время docker-compose up
, или вы можете узнать его, используя docker-compose ps
.
. Вот пример команды:
docker exec -i MYSQL_CONTAINERNAME mysql databasename < data.sql
Или вы можете объединить docker-compose ps
в нем так, чтобы вынужно знать только короткое имя (определено в docker-compose.yml):
docker exec -i $(docker-compose ps -q MYSQL) mysql databasename < data.sql
Также обратите внимание, что у меня возникли проблемы с использованием вышеуказанных команд с флагом -p, чтобы он запрашивал пароль в интерактивном режиме,но это сработало, когда я передал пароль в исходной команде (например, mysql -uroot -pmypwd
).