Docker撰写mysql import .sql

前端之家收集整理的这篇文章主要介绍了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

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

猜你在找的Docker相关文章