Docker wait命令

docker wait教程

docker wait 命令可以用于阻塞一个或多个 Docker容器 直到容器停止,然后打印退出代码。

docker wait命令后面的 CONTAINER 可以是容器Id,或者是容器名。

docker wait语法

haicoder(www.haicoder.net)# docker wait [OPTIONS] CONTAINER [CONTAINER...]

案例

等待容器退出

使用 docker run -it -d 命令,启动一个 dokcer容器。

haicoder(www.haicoder.net)# docker run --name haicoder -it -d centos 15327bf7fac71599bb0fd885099f097ca91ff0a781c26fd98f5599554c2d8888

使用 docker wait containerName 命令,等待正在运行的 docker容器,直到其退出。

haicoder(www.haicoder.net)# docker wait haicoder

运行后,终端被阻塞,终端显示信息如下图所示:

22 docker wait.png

我们使用 docker stop 命令停止正在运行的 docker 容器,

haicoder(www.haicoder.net)# docker stop haicoder

此时终端显示如下:

23 docker wait.png

在 docker stop 命令执行的同时,刚才被 dokcer wait 命令阻塞的终端,输出了 docker容器的退出码,显示如下图所示:

24 docker wait.png

使用 docker killdocker rm 命令,删除所有容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`

等待未运行容器

使用 docker create -it 命令,创建一个 docker容器,并不运行该容器。

haicoder(www.haicoder.net)# docker create -it --name haicoder centos 3a48dfd88bfeeba4d690d53488eaba8aaf9475e2b35ed59d7a24a8dce145afa3

使用 docker ps 命令,查看当前正在运行的 docker容器,终端显示如下:

25 docker wait.png

即,此时没有任何正在运行的 docker 容器。

使用 docker wait命令,等待并未运行的 docker容器,此时直接输出 0,终端并未阻塞。

haicoder(www.haicoder.net)# docker wait haicoder #输出 0

使用 docker kill 和 docker rm 命令,删除所有容器。

haicoder(www.haicoder.net)# docker kill `docker ps -qa` ; docker rm `docker ps -aq`

docker wait命令总结

docker wait 命令可以用于阻塞一个或多个 Docker容器直到容器停止,然后打印退出代码。

docker wait命令等待一个正在运行的容器时,docker wait命令会一直阻塞,该容器退出时, docker wait命令会输出对应的退出码。

docker wait 命令等待一个未运行的容器时,docker wait 命令不会阻塞,而是直接输出 0。