此章节中的分离其实也就是我们常说的后台运行,在下面的介绍中,均使用分离两字

[marksugar@www.linuxea.com ~]$ docker run --detach IMAGE 

分离模式(由选项--detach或显示 -d)表示Docker容器在终端的后台运行。它不接收输入或显示输出。如果你在后台运行容器,则会找到它们的详细信息,然后将终端重新连接到其输入和输出。

本教程面向初学者。我将向你展示如何以分离模式运行容器。然后根据需要将它们重新连接到终端输入和输出。

分离模式#

启动Docker容器时,必须首先确定是要在分离模式下还是在默认前台模式下在后台运行容器。如果你希望容器运行但不想查看并遵循其所有输出,则可能需要使用此选项。

你经常会看到使用的分离选项的简短版本-d,而较长的版本是--detach。

[marksugar@www.linuxea.com ~]$ docker run -d IMAGE

如果以分离模式运行容器,则可能需要检查其状态或在其上运行命令。接下来,我将解释如何在终端中查看它们。

查看容器#

以分离模式启动容器后,可以使用CLI命令查看它们的运行情况docker ps

默认情况下,它列出正在运行的容器 一些有用的选项包括:

要查看有关容器的更多信息,你可以查看其日志。

查看容器日志#

获得有关容器的某些详细信息(例如,其名称 ID _)后,你可以使用该命令查看其输出docker logs

[marksugar@www.linuxea.com ~]$ docker logs [OPTIONS] CONTAINER

此命令的两个最有用的选项是:

有关使用的更多信息,请查看docker logs的教程。将在后面写出

在运行容器中执行命令#

Docker exec是一种常用的CLI命令,允许你在现有运行容器中运行命令。

例如,你可能希望使用docker exec-i(互动)标志,以保持开放的标准输入和-t分配的终端。

[marksugar@www.linuxea.com ~]$ docker exec -i -t container_name /bin/bash

以下是我的其他帖子的一些链接,我将docker exec进一步解释。

你甚至可能希望再次连接终端以查看容器的输出。接下来,我将向你展示如何做到这一点。

连接#

docker attach命令通过传递容器名称或ID将终端的标准输入,输出和错误连接到正在运行的容器。

[marksugar@www.linuxea.com ~]$ docker attach [OPTIONS] CONTAINER

这允许你查看其正在进行的输出或以交互方式控制它,就像命令直接在你的终端中运行一样。附上docker官方文档

[marksugar@www.linuxea.com ~]$ docker run -d --name topdemo ubuntu /usr/bin/top -b
[marksugar@www.linuxea.com ~]$ docker attach topdemo

了解更多#

学习如何使用分离模式以及将终端重新连接到Docker容器的方法意味着你可以帮助管理在命令行上运行多个容器和其他任务。

Docker的文档提供了分离模式和附加模式之间差异的更多示例。

本站延伸阅读:docker白话容器