【发布时间】:2015-03-04 03:45:46
【问题描述】:
Docker 可以轻松停止和重新启动容器。它还具有暂停然后取消暂停容器的能力。 Docker 文档状态
当容器退出时,文件系统的状态和它的退出值被保留。您可以启动、停止和重新启动容器。进程从头开始(它们的内存状态不保存在容器中),但文件系统与容器停止时一样。
我通过设置一个运行 memcached 的容器来测试这一点,然后将一个值写入 memcache,然后
- 停止并重新启动容器 - 内存缓存值消失了
- 暂停然后取消暂停容器 - memcached 值仍然完好无损
在文档的某个地方 - 我再也找不到准确的文档 - 我读到停止的容器不会消耗 CPU 或内存。然而:
- 我想保留文件系统状态这一事实意味着容器仍然会占用主机文件系统上的一些空间?
- 系统中有 10 秒甚至 100 秒的停止容器是否会影响性能(主机磁盘空间消耗除外)?例如,Docker 是否更难启动和管理新容器?
- 最后,如果 Paused 容器在 Unpaused 时保持其内存状态 - 正如它们记住 memcached 键的能力所证明的那样 - 它们对 CPU 和内存有不同的影响吗?
我非常感谢任何能够澄清这些问题的人。
【问题讨论】:
-
好问题,我也想知道。 Docker 使用 cgroups freezer,因此如果您愿意花时间了解它们,那里的文档应该会有所帮助。