Docker 分离模式
Docker Detached Mode
docker 世界中的分离模式是什么?我读了这篇文章
Link,但它并没有准确解释分离模式的含义。
您可以使用 -d
选项以分离模式启动 docker 容器。因此容器启动并在后台 运行 。这意味着,您启动容器并可以在启动后使用控制台执行其他命令。
与分离模式相反的是前台模式。这是默认模式,当不使用 -d
选项时。在这种模式下,您用来执行 docker run
的控制台将附加到标准输入、输出和错误。这意味着您的控制台已附加到容器的进程。
在分离模式下,您可以使用 docker logs -f <container_ID>
跟随 docker 容器的标准输出。
两种选择都试试。我总是使用分离模式 运行 我的容器。我希望我能解释得更清楚一些。
docker run -d -t ubuntu:14.04
docker 运行 - 从 docker 图像创建一个实例作为 docker 容器。
(如果图像在本地不可用,它会从 docker 集线器中提取)
ubuntu - 图片名称
14.04 - 标签
-d, --detach - 分离模式
-t, --tty - 分配伪 TTY
docker命令行上的detach选项表示docker客户端(docker
)会向服务器(dockerd
)发出请求,然后当该请求在服务器上继续时,客户端将退出。部分混淆可能是 docker 看起来像一个进程,实际上它是一个 client/server 应用程序,其中客户端只是 REST API 上的一个瘦前端,用于发送每个命令到服务器。
带有docker container run --detach
,这意味着容器将被创建,如果成功,服务器将响应一个容器ID,当您空闲时,容器将继续在服务器上运行 运行 其他命令。这通常用于您想要在后台启动的服务器(例如 nginx),同时您继续 运行 其他命令。请注意,您仍然可以使用 --interactive
和 -tty
选项(通常缩写为 -it
)配置容器,然后 运行 和 docker container attach
连接到已经 运行宁容器。 (请注意,在您附加到容器 运行 -itd
之前,容器从 stdin 读取的任何尝试都会挂起,而不是看到输入结束,如果您刚刚通过 -d
.)
如果您 运行 没有分离选项,客户端将在创建容器后立即 运行 附加 API 调用,以便您可以看到输出并有选择地提供输入容器上的 运行ning 进程。如果您的容器 运行 具有交互性(例如 /bin/bash
),这将很有用。
其他几个命令允许使用分离选项,包括 docker-compose up -d
它将启动整个项目并将其 运行 留在后台的服务器上。还有许多 docker service
命令会在将更改提交到服务器以创建或更新服务的目标状态后分离,或者如果您不分离,客户端将等到服务的当前状态与目标匹配状态,你可以看到部署的进度。请注意,使用 docker service
命令,您可能必须传递 --detach=false
才能保持附加状态,根据您的版本,行为在过去一年中发生了变化。
What is detached mode in the docker world?
Detached
意味着容器将在后台 运行,而不附加到任何 input
或 output
流。
- docker提供
--detach
(简称-d
)选项并在后台启动程序。
- 这意味着该程序已启动但未连接到您的终端。
- 示例
docker run --detach --name web nginx:latest
# 注意分离标志。
Why do we need --detach
mode?
- 服务器软件在
detached containers
中一般是运行,因为软件很少依赖于附加的终端。
- 运行 分离容器非常适合在后台安静运行的程序。
备注
- 通常,这种类型的程序称为
daemon
或 service
。守护进程通常与其他程序(或网络上的人)或其他一些通信渠道进行交互。当您在后台启动容器中的守护程序或其他程序时,您想要 运行,请记住使用 --detach
标志或其缩写形式 -d
.
docker 世界中的分离模式是什么?我读了这篇文章 Link,但它并没有准确解释分离模式的含义。
您可以使用 -d
选项以分离模式启动 docker 容器。因此容器启动并在后台 运行 。这意味着,您启动容器并可以在启动后使用控制台执行其他命令。
与分离模式相反的是前台模式。这是默认模式,当不使用 -d
选项时。在这种模式下,您用来执行 docker run
的控制台将附加到标准输入、输出和错误。这意味着您的控制台已附加到容器的进程。
在分离模式下,您可以使用 docker logs -f <container_ID>
跟随 docker 容器的标准输出。
两种选择都试试。我总是使用分离模式 运行 我的容器。我希望我能解释得更清楚一些。
docker run -d -t ubuntu:14.04
docker 运行 - 从 docker 图像创建一个实例作为 docker 容器。 (如果图像在本地不可用,它会从 docker 集线器中提取) ubuntu - 图片名称
14.04 - 标签
-d, --detach - 分离模式
-t, --tty - 分配伪 TTY
docker命令行上的detach选项表示docker客户端(docker
)会向服务器(dockerd
)发出请求,然后当该请求在服务器上继续时,客户端将退出。部分混淆可能是 docker 看起来像一个进程,实际上它是一个 client/server 应用程序,其中客户端只是 REST API 上的一个瘦前端,用于发送每个命令到服务器。
带有docker container run --detach
,这意味着容器将被创建,如果成功,服务器将响应一个容器ID,当您空闲时,容器将继续在服务器上运行 运行 其他命令。这通常用于您想要在后台启动的服务器(例如 nginx),同时您继续 运行 其他命令。请注意,您仍然可以使用 --interactive
和 -tty
选项(通常缩写为 -it
)配置容器,然后 运行 和 docker container attach
连接到已经 运行宁容器。 (请注意,在您附加到容器 运行 -itd
之前,容器从 stdin 读取的任何尝试都会挂起,而不是看到输入结束,如果您刚刚通过 -d
.)
如果您 运行 没有分离选项,客户端将在创建容器后立即 运行 附加 API 调用,以便您可以看到输出并有选择地提供输入容器上的 运行ning 进程。如果您的容器 运行 具有交互性(例如 /bin/bash
),这将很有用。
其他几个命令允许使用分离选项,包括 docker-compose up -d
它将启动整个项目并将其 运行 留在后台的服务器上。还有许多 docker service
命令会在将更改提交到服务器以创建或更新服务的目标状态后分离,或者如果您不分离,客户端将等到服务的当前状态与目标匹配状态,你可以看到部署的进度。请注意,使用 docker service
命令,您可能必须传递 --detach=false
才能保持附加状态,根据您的版本,行为在过去一年中发生了变化。
What is detached mode in the docker world?
Detached
意味着容器将在后台 运行,而不附加到任何 input
或 output
流。
- docker提供
--detach
(简称-d
)选项并在后台启动程序。 - 这意味着该程序已启动但未连接到您的终端。
- 示例
docker run --detach --name web nginx:latest
# 注意分离标志。
Why do we need
--detach
mode?
- 服务器软件在
detached containers
中一般是运行,因为软件很少依赖于附加的终端。 - 运行 分离容器非常适合在后台安静运行的程序。
备注
- 通常,这种类型的程序称为
daemon
或service
。守护进程通常与其他程序(或网络上的人)或其他一些通信渠道进行交互。当您在后台启动容器中的守护程序或其他程序时,您想要 运行,请记住使用--detach
标志或其缩写形式-d
.