为什么重新启动容器后,我的非卷数据在Docker容器持久性中?

在我读到Docker容器的时候,我发现很多人说他们在重启容器的时候丢失了数据 (保存在容器中,而不是容量数据的一部分)。

我试图创build一个简单的Ubuntu容器,如下所示: docker run -it ubuntu /bin/bash ,并在容器中创build了一些文件,然后重新启动它,但是我的数据仍在那里 。 为什么这真的发生? 为什么我的数据还在那里? 在Docker的新版本中,这是一个新东西还是我有误解的东西?

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

基本上,如果您执行docker ps ,如果容器保持相同的id(hex大丑),数据不会丢失。

当你的Docker容器不是由你pipe理时,它会变得复杂,但是通过某种自动pipe理方法。 像这样的工具通常在失败时启动新的容器。 在这种情况下,您应该安装一个卷以将数据存储在主机上。

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

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

docker rename允许容器被重命名。

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

docker rm删除一个容器。

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

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

如果你想要一个瞬态容器, docker run --rm会在容器停止后移除它。