📅  最后修改于: 2023-12-03 15:14:46.428000             🧑  作者: Mango
在使用 Docker 容器时,有时需要进入容器的 Shell 或 Bash 环境,以便进行一些操作或调试。Docker 允许我们在容器中运行一个 Shell 或 Bash,从而可以在容器内部执行命令。
有两种方法进入容器的 Shell/Bash:
通过 docker exec
命令进入容器的 Shell/Bash。该命令会创建一个新的进程,在容器内执行指定的命令。例如:
docker exec -it <容器 ID> /bin/bash
其中:
-it
:表示打开一个交互式的终端。<容器 ID>
:容器的 ID。执行完命令后,即可进入容器的 Bash 环境。在容器内部执行的命令将不会影响容器本身。
通过 docker attach
命令进入容器的 Shell/Bash。该命令会将当前进程 attach 到容器的 STDIN、STDOUT 和 STDERR 上。例如:
docker attach <容器 ID>
其中:
<容器 ID>
:容器的 ID。执行完命令后,即可进入容器的 Shell 环境。在容器内部执行的命令将直接影响容器本身。
docker attach
进入容器,退出 Shell 后容器也会退出,而使用 docker exec
则不会。通过 Docker 控制台进入容器的 Shell/Bash 环境,可以方便地在容器内部执行命令或进行调试。我们可以选择 docker exec
或 docker attach
命令来完成此任务。注意,使用 docker attach
时应该注意容器退出的影响。