我在使用docker-compose导入.sql转储文件时遇到问题.我已经关注了文档,显然它将从docker-entrypoint-initdb.d加载.sql文件.但是,当我运行docker-compose时,sql文件不会被复制到容器中.
我已经尝试用-vf标志停止容器,但这也不起作用.我在.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.6
ADD 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
这样,转储总是被复制并在启动时运行
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。