Docker撰写mysql import .sql

我在使用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

这样,转储总是被复制并在启动时运行

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...