容器(四)一张图搞懂容器所有操作【21】

(五)一张图搞懂容器所有操作

​ 前面我们已经讨论了容器的各种操作,对容器的生命周期有了大致的理解,下面这张状态机很好地总结了容器各种状态之间是如何转换的 。

img

如果掌握了前面的知识,要看懂这张图应该不难。不过有两点还是需要补充一下:

  1. 可以先创建容器,稍后再启动。

    root@cuiyongchao:/dockerfile# docker create httpd
    751d726f3910d3c139f138c6456623160ccd148d47f82244118f418f829a22ef
    root@cuiyongchao:/dockerfile# docker start 751d726f3910d3c139f138c6456623160ccd148d47f82244118f418f829a22ef
    751d726f3910d3c139f138c6456623160ccd148d47f82244118f418f829a22ef
    root@cuiyongchao:/dockerfile# docker ps
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
    751d726f3910        httpd               "httpd-foreground"       24 seconds ago      Up 7 seconds        80/tcp                   tender_kepler
    
    

    ① docker create 创建的容器处于 Created 状态。

    ② docker start 将以后台方式启动容器。 docker run 命令实际上是 docker create 和 docker start 的组合。

  2. 只有当容器的启动进程 退出时,--restart 才生效。

img

​ 退出包括正常退出或者非正常退出。这里举了两个例子:启动进程正常退出或发生 OOM,此时 docker 会根据 --restart 的策略判断是否需要重启容器。但如果容器是因为执行 docker stop 或docker kill 退出,则不会自动重启。

posted @ 2020-11-13 09:17  cuiyongchao007  阅读(174)  评论(0编辑  收藏  举报