你如何退出一个 码头工人 容器?
假设您在交互模式下运行一个 docker 容器,如下所示:
docker run -it ubuntu bash
这样,您将获得一个交互式 shell,并立即登录到作为容器运行的操作系统。
要退出这个正在运行的容器,可以使用 ctrl+c、ctrl+d 或在终端中输入 exit。
这里有一个问题。 如果您以这种方式退出容器,您的容器也会停止。
[email protected]:~$ docker run -it ubuntu bash
[email protected]:/# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[email protected]:/# exit
exit
[email protected]:~$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
正如您在上面的输出中看到的, docker ps 命令显示没有正在运行的容器。
Exit docker容器而不停止它(分离容器)
你可以在这里做的是 依次按 ctrl+p 和 ctrl+q 分离容器. 我知道这对于 Linux 用户来说是一个奇怪的键盘快捷键,但这就是你可以轻松做到的方法。
分离后,即使您退出容器,您的容器也会继续运行。 您的交互式 docker 会话现在处于守护程序模式。
您可以使用验证它 docker ps
命令以在正在运行的容器列表中查看它。
当您想再次使用它时,您可以再次附加容器。
提示:尽可能以守护程序模式运行容器
我总是喜欢像这样在守护进程模式下运行容器:
docker run -it -d docker_image_name bash
这样容器在后台启动并运行。 i 标志表示交互式,t 标志代表 tty。 所以基本上,它为您提供了一个可以运行的交互式 shell bash 但它不是立即可用的。
可以这样进入一个正在运行的容器:
docker exec -it container_id bash
我希望这个快速的 docker 小技巧对你有用。 请继续关注更多 docker 提示。
如果您有任何问题或建议,请随时在评论部分提出。