为什么重新启动容器后,我的非卷数据在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 rm
和docker run
再次docker run
,你的状态将不再存在。
如果你想要一个瞬态容器,
docker run --rm
会在容器停止后移除它。
- 如何从docker集装箱rsync同步到我的主机
- 在Mesos / Marathon上部署端口映射的Docker容器
- 在Ubuntu 14.04.1 Docker容器上无法获取postgresql-9.3-postgis-2.1
- 有没有可能从离线Windows上的Ubuntu ISO创build一个docker图像?
- Docker for Mac的Docker守护进程日志
- Docker不想将vim安装到我的容器映像中
- docker run ubuntu:14.04 / bin / echo`在Fedora 20上产生SELinux错误
- 在RHEL7上安装Docker CE 17.03
- GCloud:将文件从本地机器复制到Docker容器中