Docker Compose mysql导入.sql
我在使用docker-compose导入.sql转储文件时遇到问题。我已经关注了文档,这些文档显然将从docker-entrypoint-
initdb.d中加载.sql文件。但是,当我运行时docker-compose up
,sql文件不会复制到容器中。
我试过用-vf
flag 停止容器,但这也不起作用。我的.yml脚本做错了吗?
我的撰写文件所在的根目录中的database / db-dump /目录中有dump.sql。
frontend: image: myimage
ports:
- "80:80"
links:
- mysql
mysql:
image: mysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: dbuser
MYSQL_PASSWORD: userpass
MYSQL_DATABASE: myimage_db
volumes:
- ./database/db-dump:/docker-entrypoint-initdb.d
回答:
经过多次尝试设置音量后,我找到了解决方法
我在Dockerfile中使用以下内容基于mysql创建了另一个映像
FROM mysql:5.6ADD dump.sql /docker-entrypoint-initdb.d
然后从组合中删除卷并运行新映像
frontend: image: myimage
ports:
- "80:80"
links:
- mysql
mysql:
image: mymysql
ports:
- "3306:3306"
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_USER: dbuser
MYSQL_PASSWORD: userpass
MYSQL_DATABASE: myimage_db
这样,转储始终被复制并在启动时运行
以上是 Docker Compose mysql导入.sql 的全部内容, 来源链接: utcz.com/qa/432029.html