当前位置:  开发笔记 > 编程语言 > 正文

Docker分离模式

如何解决《Docker分离模式》经验,为你挑选了2个好方法。

什么是docker世界中的分离模式?我读了这篇文章 链接,但它并没有解释究竟什么是分离模式.



1> Sim..:

您可以使用-d选项以分离模式启动docker容器.因此容器启动并在后台运行.这意味着,您启动容器并在启动后可以使用控制台来执行其他命令.

分离模式的反面是前景模式.这是默认模式,-d不使用选项时.在此模式下,您用于执行的控制台docker run将附加到标准输入,输出和错误.这意味着您的控制台已附加到容器的进程.

在分离模式下,您可以使用docker容器的标准输出docker logs -f .

试试两种选择.我总是使用分离模式来运行我的容器.我希望我能更清楚地解释一下.



2> BMitch..:

docker命令行上的detach选项指示docker客户端(docker)将向服务器(dockerd)发出请求,然后客户端将退出,同时该请求在服务器上继续。造成混淆的部分原因可能是docker看起来像一个进程,实际上,它是一个客户端/服务器应用程序,其中客户端只是REST API上的瘦前端,用于将每个命令发送到服务器。

使用docker container run --detach,表示将创建容器,如果成功,则服务器将以容器ID进行响应,并且容器将继续在服务器上运行,而您可以自由运行其他命令。这通常用于要在后台启动并继续运行其他命令的服务器(例如nginx)。请注意,您仍然可以使用--interactive-tty选项配置容器(通常缩写为-it),然后再运行docker container attach来连接到已经运行的容器。(请注意,直到您将容器附加到运行时为止,容器-itd尝试从stdin读取的任何操作都将挂起,而不是看到输入的结尾(如果您刚刚通过,通常会立即触发退出-d)。)

如果运行时没有使用detach选项,则客户端将在创建容器后立即运行附加API调用,以便您可以查看输出并有选择地向容器上正在运行的进程提供输入。如果您的容器运行的是交互式内容(例如/bin/bash),这将很有用。

其他几个命令允许使用detach选项,其中包括docker-compose up -d将启动整个项目并使它在后台在服务器上运行的功能。还有很多docker service命令会在将更改提交给服务器以创建或更新服务的目标状态后分离,或者,如果不分离,客户端将等待直到服务的当前状态与目标状态匹配,您才能看到部署进度。请注意,使用docker service命令时,您可能必须通过--detach=false才能保持连接状态,根据您的版本,过去一年的行为已发生变化。

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有