加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

MySQL镜像忽略了docker-compose.yml的卷配置

发布时间:2020-12-16 03:29:55 所属栏目:安全 来源:网络整理
导读:使用官方MySQL Docker镜像,我不明白如何将数据目录挂载到主机上的特定点. The Dockerfile的图像集 VOLUME /var/lib/mysql 所以数据库数据应该存储在主机上的“某处”.我希望在我的docker-compose文件中更具体,所以我尝试了以下内容: mysql: image: mysql:5.

使用官方MySQL Docker镜像,我不明白如何将数据目录挂载到主机上的特定点. The Dockerfile的图像集

VOLUME /var/lib/mysql

所以数据库数据应该存储在主机上的“某处”.我希望在我的docker-compose文件中更具体,所以我尝试了以下内容:

mysql:
  image: mysql:5.7
  environment:
    - MYSQL_ROOT_PASSWORD=password
    - MYSQL_DATABASE=mydb
  volumes:
    - ./database/mysql:/var/lib/mysql

从docker-compose开始一切正常,但主机上的./database/mysql目录保持为空,而容器中的/ var / lib / mysql包含数据.我的配置有问题吗?或者我误解了如何使用卷?

最佳答案
docker-compose将始终尝试保留数据卷,以便您不会丢失其中的任何数据.如果您从数据卷开始,然后更改为主机卷,则仍可能获得数据卷.

要纠正这个问题,请运行docker-compose stop&& docker-compose rm -f,它将删除容器和数据卷(这将删除数据卷中的所有数据).在下一个docker-compose上,您应该使用主机卷看到它.

编辑:从Compose 1.6开始,您可以运行docker-compose stop -v而不是上面的两个命令.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读