要进入正在运行的Docker容器的交互式界面,有以下几种常用方法:
docker exec
命令(推荐方式)docker exec -it <容器ID或名称> /bin/bash
或者使用其他shell(如果容器中安装了):
docker exec -it <容器ID或名称> /bin/sh
参数说明:
- -i
:保持STDIN打开(交互式)
- -t
:分配一个伪终端
- /bin/bash
或 /bin/sh
:指定要运行的shell程序
docker attach
命令docker attach <容器ID或名称>
注意:
- 这种方式会直接连接到容器的主进程
- 退出时可能会导致容器停止(除非主进程继续运行)
- 要退出而不停止容器,可以使用 Ctrl+P
然后 Ctrl+Q
docker run -it <镜像名称> /bin/bash
虽然可以安装SSH服务到容器中,但这不是Docker推荐的做法,因为这会增加安全风险和管理负担。
如果不知道容器中可用的shell,可以尝试:
docker exec -it <容器ID或名称> sh
查看所有运行中的容器:
docker ps
查看所有容器(包括停止的):
docker ps -a
如果容器没有交互式shell,可以尝试直接运行命令:
docker exec <容器ID或名称> <命令>
记住,docker exec
是最常用且推荐的方式,因为它不会影响容器的主进程。