docker swarm 模式下,直接删除容器后,数据还保存着?

2019-12-07 15:06:43 +08:00
 ruandao

docker-compose.yml:

# Use root/example as user/password credentials
version: '3.7'

services:

  db:
    image: mysql
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: pwd
      MYSQL_DATABASE: test
      MYSQL_USER: lambda
      MYSQL_PASSWORD: test
    ports:
      - "3306:3306"
      - "33060:33060"

docker stack deploy -c docker-compose.yml test

我在里面创建数据库后,然后命令行把容器删除了,过了一会儿容器自动启动(应该是 always 的缘故) 这时候,我用 mysql workbench 连接,发现之前创建的数据库还存在

我没有主动的挂载存储目录,他自己会另外弄个持久目录存储吗?还是怎么回事?

谢谢

6055 次点击
所在节点    Docker
3 条回复
wangxiaoaer
2019-12-07 15:31:00 +08:00
docker stack rm 试一试呢?
nieqibest
2019-12-07 15:45:49 +08:00
mysql 镜像里有定义 voLume 吗?
Trim21
2019-12-07 16:00:10 +08:00
容器内可以自定义一个 volume,如果你没有把内置的路径给覆盖掉 docker 就会自动创建一个 volume 用来存持久化数据

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/626807

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX