有时,出于调试目的,我们需要在已经运行的容器内运行另一个进程。

若要与正在运行的 Docker 容器进行交互,请按照以下步骤操作:

步骤 1:打开终端并执行以下命令,以交互方式进入容器:

docker container exec -i -t nginx bash

如何进入正在运行的 Docker 容器

命令说明:

  • -i:启动交互式会话。
  • -t:分配一个伪 TTY。
  • /bash:指定在容器内要使用的 shell。

步骤 3:进入容器后,通过运行以下命令验证您的环境:

uname -a

如何进入正在运行的 Docker 容器

步骤 4:若要退出交互式会话,请使用:

按 Ctrl + D 退出。

如何进入正在运行的 Docker 容器

步骤 5:或者,直接执行命令而不进入 shell:

docker container exec nginx uname -a

如何进入正在运行的 Docker 容器

步骤 6:若要使用环境变量设置进入交互模式,请使用:

docker container exec -it \
  -e MY_VAR="Hello World" \
  nginx bash

如何进入正在运行的 Docker 容器

步骤 7:在容器内,验证环境变量:

echo $MY_VAR

如何进入正在运行的 Docker 容器

步骤 8:再次退出交互式会话,请使用:

按 Ctrl + D 退出。

如何进入正在运行的 Docker 容器

通过这些步骤,您可以从主机系统有效地管理 Docker 容器并与之进行交互。