问题
[root@cen76-1 ~]# cat docker_in.sh
#!/bin/bash
# Use nsenter to access docker
docker_in(){
NAME_ID=$1
PID=$(docker inspect --format "{{ .State.Pid }}" $NAME_ID)
nsenter --target $PID --mount --uts --ipc --net --pid
}
docker_in $1
[root@cen76-1 _data]# bash /root/docker_in.sh nginx-volume-test1
mesg: ttyname failed: No such device
解决办法
- 解决方法是在 nsenter 指令后面指定一个执行的shell 如:/bin/bash
[root@cen76-1 ~]# cat docker_in.sh
#!/bin/bash
# Use nsenter to access docker
docker_in(){
NAME_ID=$1
PID=$(docker inspect --format "{{ .State.Pid }}" $NAME_ID)
nsenter --target $PID --mount --uts --ipc --net --pid /bin/bash
}
docker_in $1
[root@cen76-1 ~]# ./docker_in.sh nginx-volume-test1
root@50541bd1e322:/#