我的docker-compose脚本成功管理运行mysql/mariadb服务,并将包含数据库模式的我的“init.sql”脚本复制到“/docker-entrypoint-initdb.d” 。但是,sql脚本永远不会执行,因为它应该是according to the docs。Docker-compose mysql:import .sql
没有错误,没有在日志中。我检查了sql文件被复制到容器中的正确位置。我检查了脚本在空数据库上没有错误的情况下运行。
我错过了什么?如果脚本被执行(甚至出于某种原因,什么也不做),它甚至可以在日志中看到吗?
(编辑:搬运工-撰写版本:1.8.1,图像MariaDB的:21年10月1日)
# docker-compose.yml
version: '2'
volumes:
data-volume: {}
services:
mysql:
image: mariadb
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: pwd
MYSQL_DATABASE: users_db
volumes:
- data-volume:/var/lib/mysql
- ./resources/docker-sql/init.sql:/docker-entrypoint-initdb.d/init.sql
backend:
image: myapp
ports:
- "8000:80"
depends_on:
- mysql
links:
- mysql
按照['搬运工-entrypoint.sh'](HTTPS的来源:/ /github.com/docker-library/mariadb/blob/b558f64b736650b94df9a90e68ff9e3bc03d4bdb/10.1/docker-entrypoint.sh)(该脚本应该执行你的'init.sql'),如果它被执行,日志中应该有行(行154)。你可以添加docker logs的输出吗?此外,您的脚本只会在容器第一次启动时执行(第76行)!你必须在尝试之间删除它。 – fzgregor
哦,我不得不删除容器。谢谢! '码头组成停止','码头组成'rm','码头组成'。 – JulienD
您是否有人写出正式答案? :) – Martin