Docker attach命令

docker attach教程

使用 docker attach 命令可以用来进入到一个正在运行的 Docker容器。docker attach 命令后面的 CONTAINER 可以是容器Id,或者是容器名。

要能够使用 docker attach 的容器必须是正在运行的。

docker attach语法

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

案例

进入容器

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

haicoder(www.haicoder.net)# docker run --name haicoder -it -d centos 812baf72a1bc28a03949fcf106b0afd33853e252d54d89d71ff649e49511f745

使用 docker attach containerName 命令,进入到正在运行的 docker容器内部。

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

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

16 docker attach.png

此时,终端的命令行提示符变成了 docker containerId,即我们已经进入了 docker容器的内部。

我们可以在 dokcer 容器的内部,执行任何的 linux 命令,使用 exit 命令或者 Ctrl+d,退出 docker attach 的容器。

17 docker attach.png

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

18 docker attach.png

此时没有任何正在运行的容器,说明我们使用 docker attach 命令,进入容器后,再使用 exit 命令或者 Ctrl+d 退出容器后,原来正在运行的容器也会停止。

使用 docker exec 命令,进入正在运行的 docker容器后,再次使用 exit 命令或者 Ctrl+d 退出容器后,原来正在运行的容器不会停止,这是 docker exec 命令进入容器与 docker attach 进入容器的区别。

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

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

进入容器不退出

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

haicoder(www.haicoder.net)# docker run --name haicoder -it -d centos 851658571c4b031ac77560631b5d795cfbd8fa3d41071f868a5ffc855698bedc

使用 docker attach containerName 命令,进入到正在运行的 docker容器内部。运行后,终端显示信息如下图所示:

19 docker attach.png

此时,终端的命令行提示符变成了 docker containerId,即我们已经进入了 docker容器的内部。

我们可以在 dokcer容器的内部,执行任何的 linux 命令 比如 ls 和 pwd 命令,使用 Ctrl+p+q,退出 docker attach 的容器。

20 docker attach.png

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

21 docker attach.png

使用 Ctrl+p+q,退出 docker attach 的容器,此时容器还是正在运行的状态。

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

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

docker attach命令总结

使用 docker attach 命令可以用来进入到一个正在运行的 Docker容器。

docker attach命令进入到正在运行的 Docker容器后,如果使用 exit 命令或者 Ctrl+d 退出容器后,原来正在运行的容器也会停止。

docker attach命令进入到正在运行的 Docker容器后,如果使用 Ctrl+p+q 退出容器后,原来正在运行的容器不会停止。

docker exec -it containerName /bin/bash 命令进入到正在运行的 Docker容器后,如果使用 exit 命令或者 Ctrl+d 退出容器后,原来正在运行的容器不会停止。