前面我们已经讨论了容器的各种操作,对容器的生命周期有了大致的理解,下面这张状态机很好地总结了容器各种状态之间是如何转换的。
如果掌握了前面的知识,要看懂这张图应该不难。不过有两点还是需要补充一下:
-
可以先创建容器,稍后再启动。
① docker create
创建的容器处于 Created 状态。
② docker start
将以后台方式启动容器。 docker run
命令实际上是 docker create
和 docker start
的组合。
2.只有当容器的启动进程 退出 时,--restart
才生效。
退出包括正常退出或者非正常退出。这里举了两个例子:启动进程正常退出或发生 OOM,此时 docker 会根据 --restart
的策略判断是否需要重启容器。但如果容器是因为执行 docker stop
或docker kill
退出,则不会自动重启。