Docker映像-删除映像后保留数据

时间:2020-04-12 20:54:52

标签: docker docker-compose

所以我最近开始和docker一起玩,因为我认为对我的网站进行docker化是一件好事。我有一个超级简单的docker-compose.yml文件,其中仅包含wordpress:latest和mysql:5.7。

我将此文件复制到服务器上,并使用docker-compose up -d运行,它运行良好。我进入了前端,它向我展示了WordPress管理员设置页面。大!我设置好并发布了一个帖子,导航到我的域,可以看到该帖子很好-一切都很好。

...但是!

然后,我对数据持久性产生了浓厚的兴趣,并想知道如果我的图像停止运行并且如果我使用相同的命令再次启动它们,将会发生什么情况。我停下了容器,再次启动了它们,而我的新帖子仍然在那里。完善。然后,我想删除图像并重新开始,因此我停止了正在运行的图像,然后使用docker rmi blah/blah:blah删除了图像本身。我运行了docker images ls,所有图像都按预期消失了。然后,我重新运行我的docker-compose文件。图片消失了,所以它再次下载了目标图片,然后我在浏览器中导航到我的域,希望再次看到wordpress设置页面...但是我以前的数据仍然在那里,即使我的帖子仍然在wordpress中。我不明白如何删除图像并重新下载它们并未擦除所有数据。显然我做错了,但我真的不知道该怎么办。

在此先感谢您的见解!

1 个答案:

答案 0 :(得分:0)

根据上面的注释,数据通过卷(或-v参数)持久保存到服务器上可由容器访问的目录。我的卷在docker-compose中设置为/var/lib/mysql,但是,真实目录似乎是/var/lib/docker/volumes/root_db_data/_data/mysql