8

在某些地方,当我阅读 Docker 容器时,我发现有些人说他们在重新启动容器时会丢失数据(保存在容器内,而不是卷数据的一部分)。

我尝试像这样创建一个简单的 Ubuntu 容器:docker run -it ubuntu /bin/bash,并在容器内创建了一些文件,然后重新启动它,但我的数据仍然存在。为什么会发生这种情况?为什么我的数据还在?这是新版本的 Docker 中的新功能还是我对某些东西有误解?

4

2 回答 2

7

删除容器时数据会丢失,而不是停止或重新启动时。

基本上,如果您这样做docker ps,如果容器保持相同的 id(大而丑陋的十六进制 id),则数据不会丢失。

当您的 docker 容器不是由您管理,而是通过某种自动管理方法时,它会变得复杂。如果出现故障,此类工具通常会启动新容器。在这种情况下,您应该挂载一个卷以将数据存储在主机上。

于 2016-11-28T17:59:23.623 回答
3

您可能想查看容器生命周期:https ://github.com/wsargent/docker-cheat-sheet#lifecycle

docker create创建一个容器但不启动它。

docker rename允许重命名容器。

docker run在一个操作中创建并启动一个容器。

docker rm删除一个容器。

docker update更新容器的资源限制。

如果你这样做docker rmdocker run你的状态将不再存在。

如果你想要一个临时容器,docker run --rm将在容器停止后将其移除。

于 2016-11-28T17:31:06.340 回答