无处不在,当我读到Docker容器,我发现很多的人讲,他们失去了他们的数据(保存的容器,而不是容积数据的一部分内),当他们重新启动容器。为什么在重新启动容器后,我的非卷数据在Docker容器持久性中?
我试图创建一个简单的Ubuntu容器是这样的:docker run -it ubuntu /bin/bash
,并创建了容器内的一些文件,然后重新启动它,但我数据仍然存在。为什么实际发生?为什么我的数据还在那里?这是Docker新版本中的新东西,还是我对某些东西有误解?
无处不在,当我读到Docker容器,我发现很多的人讲,他们失去了他们的数据(保存的容器,而不是容积数据的一部分内),当他们重新启动容器。为什么在重新启动容器后,我的非卷数据在Docker容器持久性中?
我试图创建一个简单的Ubuntu容器是这样的:docker run -it ubuntu /bin/bash
,并创建了容器内的一些文件,然后重新启动它,但我数据仍然存在。为什么实际发生?为什么我的数据还在那里?这是Docker新版本中的新东西,还是我对某些东西有误解?
当容器被移除时,而不是停止或重新启动时,数据会丢失。
基本上,如果你做docker ps
,如果容器保持相同的id(十六进制大丑),数据不会丢失。
时不知何故你搬运工集装箱不是由您管理就变得复杂,但通过某种自动化,管理方法的。像这样的工具通常在失败时启动新的容器。在这种情况下,您应该安装一个卷以将数据存储在主机上。
杀死意味着删除,或? –
实际删除。杀死几乎就像停止一个容器。停止试图优雅地停止该过程。杀死不。但他们都将容器放在那里,所以当你输入“docker ps”时你会看到它们。您可以重新启动它们,您将看到您创建的文件。另一方面删除将使容器完全消失,连同其内的所有文件。 – HakRo
你可能想看看容器生命周期:https://github.com/wsargent/docker-cheat-sheet#lifecycle
docker create
创建一个容器,但不启动它。
docker rename
允许容器被重新命名。
docker run
创建并在一个操作开始的容器。
docker rm
删除的容器。
docker update
更新容器的资源限制。
如果您再次做docker rm
和docker run
您的状态将不再存在。
如果您想要一个瞬态容器,
docker run --rm
将在容器停止后将其移除。
这已经很清楚了,但是我想知道他们何时说:“当我们重启容器时我们丢失了数据”,显然就像上面的评论,他们的意思是“重新创建”,而不是重新启动。 –
也许当人们谈论“重新启动”时,他们实际上是指“重新创建”。 –
好吧,我所拥有的是正常的,那很简单,谢谢你。你会回答这个问题吗? –