进入Docker容器目录有几种常用方法,下面我将详细介绍每种方法:
docker exec
命令进入容器这是最常用的方法,可以在运行的容器中启动一个交互式shell:
docker exec -it 容器ID或容器名称 /bin/bash
或者对于某些基础镜像可能使用:
docker exec -it 容器ID或容器名称 /bin/sh
参数说明:
- -i
:保持STDIN打开
- -t
:分配一个伪终端
- /bin/bash
或 /bin/sh
:指定要运行的shell程序
docker attach
命令docker attach 容器ID或容器名称
注意:这种方式会连接到容器的主进程,退出时可能会导致容器停止。
nsenter
命令(需要root权限)PID=$(docker inspect --format {{.State.Pid}} 容器ID或容器名称)
nsenter --target $PID --mount --uts --ipc --net --pid
如果你只是想查看容器内的文件而不需要交互式shell:
docker cp 容器ID或容器名称:/path/in/container /local/path
docker run
创建临时容器docker run -it --rm --volumes-from 容器ID或容器名称 镜像名称 /bin/bash
查找容器ID或名称:
docker ps
进入容器后,你可以像在普通Linux系统中一样浏览目录:
ls -l
cd /path/to/directory
退出容器而不停止容器:
在容器shell中按 Ctrl+P
然后 Ctrl+Q
如果容器没有bash/sh,你可以尝试:
docker exec -it 容器ID或容器名称 /bin/ash
选择哪种方法取决于你的具体需求,docker exec -it
是最常用和推荐的方式。