docker进入容器的常见方式
2018-12-14 本文已影响0人
渭小粉
四种常见做法
1. docker attach 限制,仅一台可进入,其它进入的屏幕会显示相同的内容
2. ssh 不推荐
3. linux命令工具: nsenter
4. exec
一、使用docker attach进入Docker容器
docker attach 44fc0f0582d9
但在,使用该命令有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。
2. ssh
在较大型的应用或管理平台当中,会大幅度增加管理作业内容更
详细见:https://www.oschina.net/translate/why-you-dont-need-to-run-sshd-in-docker?cmp
3. nsenter
nsenter可以访问另一个进程的名称空间。所以为了连接到某个容器我们还需要获取该容器的第一个进程的PID。可以使用docker inspect命令来拿到该PID。
#查看容器信息
docker inspect 44fc0f0582d9
#获取pid
docker inspect -f {{.State.Pid}} 44fc0f0582d9
#进入容器
sudo nsenter --target 3326 --mount --uts --ipc --net --pid
4. docker exec进入docker容器
docker exec --help
docker ps
docker exec -it 775c7c9ee1e1 /bin/bash