先计算容器的PID: PID=$(docker inspect --format {{.State.Pid}} <container_name_or_ID>) solumuser@ubuntu14044:~/devstack$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e6551c6bf7e7 98b7ac1054f74e97840618198d699cec-java_app-20160517t175809236072150-1713a757d34ca340211473f322e0fc2406d3f65d "/bin/bash -c 'sourc 16 hours ago Up 16 hours nova-148a593f-d75c-4ac8-8cad-95c2ee7ffefd solumuser@ubuntu14044:~/devstack$ PID=$(docker inspect --format {{.State.Pid}} nova-148a593f-d75c-4ac8-8cad-95c2ee7ffefd ) 进入容器: nsenter --target $PID --mount --uts --ipc --net --pid solumuser@ubuntu14044:~/devstack$ sudo nsenter --target $PID --mount --uts --ipc --net --pid root@instance-0000000e:/# pwd / root@instance-0000000e:/# ls app bin boot dev etc home lib lib64 media mnt opt proc root run sbin solum srv sys tmp usr var #!/bin/sh if [ -e $(dirname "$0")/nsenter ]; then # with boot2docker, nsenter is not in the PATH but it is in the same folder NSENTER=$(dirname "$0")/nsenter else NSENTER=nsenter fi if [ -z "$1" ]; then echo "Usage: `basename "$0"` CONTAINER [COMMAND [ARG]...]" echo "" echo "Enters the Docker CONTAINER and executes the specified COMMAND." echo "If COMMAND is not specified, runs an interactive shell in CONTAINER." else PID=$(docker inspect --format "{{.State.Pid}}" "$1") if [ -z "$PID" ]; then exit 1 fi shift OPTS="--target $PID --mount --uts --ipc --net --pid --" if [ -z "$1" ]; then # No command given. # Use su to clear all host environment variables except for TERM, # initialize the environment variables HOME, SHELL, USER, LOGNAME, PATH, # and start a login shell. "$NSENTER" $OPTS su - root else # Use env to clear all host environment variables. "$NSENTER" $OPTS env --ignore-environment -- "$@" fi fi
相关推荐
dssh 使用 nsenter 为 Docker 容器提供终端。 外观和感觉就像一个 ssh 客户端。安装gem install dssh用法假设你有一个 docker 容器已经启动并且正在运行: dssh < container> 如果您只运行一个容器,则可以不使用...
Docker 容器的四种进入方式分别是:使用 docker attach 进入 Docker 容器、使用 SSH 进入 Docker 容器、使用 nsenter 进入 Docker 容器和使用 docker exec 进入 Docker 容器。 nsenter 是一个非常有用的工具,可以让...
这个时候如果需要进入容器进行操作,有多种方法,包括使用官方的attach或exec命令,以及第三方的nsenter工具等。 1、attach命令 attach命令是Docker自带的命令,命令格式为: docker attach [–detach-keys[=...
You will discover how to debug a container using the docker exec command and the nsenter tool. Finally, you will learn how to secure your containers with SELinux and other proven methods. Table of ...
也就是说,nsenter不进入cgroup,因此规避了资源限制。 这样做的潜在好处是调试和外部审核,但是对于远程访问, docker exec是当前推荐的方法。 重要提示:此存储库在Docker早期非常有用,因为当时主要发行nsenter...
动态添加设备可以使用Nsenter – mknod 命令,或者使用docker update –add/del-device 命令。 十一、动态挂卷 动态挂卷可以使用Find filesystem、Find the device、Nsenter – mknod – mount to tmp – bind ...
要进入容器,请运行: ./enter.sh <container>或vagrant ssh -- sudo share/nsenter.sh <container> 错误默认:警告:远程连接断开。 正在重试...正在被垃圾邮件发送 对此有几种可能的解决方案。 通过打开文件