Docker Compose mysql导入.sql

我在使用docker-compose导入.sql转储文件时遇到问题。我已经关注了文档,这些文档显然将从docker-entrypoint-

initdb.d中加载.sql文件。但是,当我运行时docker-compose up,sql文件不会复制到容器中。

我试过用-vfflag 停止容器,但这也不起作用。我的.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

这样,转储始终被复制并在启动时运行

以上是 Docker Compose mysql导入.sql 的全部内容, 来源链接: utcz.com/qa/432029.html

回到顶部