繁体   English   中英

附加到 docker 容器内的特定运行进程

[英]Attach to the specific running process inside a docker container

虽然 nginx 可能不是这种情况的好例子,但也有类似的情况,我们需要运行一个进程并在容器内访问它,而无需重新创建/重新运行它。

我已经使用以下命令将 nginx 作为容器运行:

docker run -d --name=my_container nginx:latest

在 docker 运行命令期间,我没有激活终端或交互模式。 现在,我想在分离模式下运行 bash(使用docker exec... ),然后稍后附加(使用docker attach... )。

如您所知,我们可以在容器内运行新进程,例如:

docker exec -itd my_container bash

通过这种方式,一个新的 bash 进程将在这个容器内运行。

现在我的问题是以后如何附加到这个过程?

我尝试运行以下命令,但它只显示 nginx 实时日志:

docker attach my_nginx2

如果我了解您的用例,您可以这样做:

docker run -itd --name=my_container nginx:latest bash -i -c 'nginx; bash -i'

这使您可以:

docker attach my_container

您可以使用 CTRL-p CTRL-q 键序列从容器中分离并使其保持运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM