站点图标 星露谷值班站长

docker - 如何进入容器

docker - 如何进入容器

很多时候,你需要去运行中的容器里看一下日志,或者进程。
第一种进入容器的方法是:用 docker 里有现成的 exec  和  attach 命令

docker run –name ubuntu_bash –rm -i -t ubuntu bash
docker exec -d ubuntu_bash touch /tmp/execWorks
docker exec -it ubuntu_bash bash

attach 的用法就看这里:https://docs.docker.com/reference/commandline/attach/,我就不多说了。
另一种方法是,用 nsenter

docker run –rm -v /usr/local/bin:/target jpetazzo/nsenter

运行这个,会安装三个可运行文件在 /usr/local/bin 目录下:nsenter, docker-enter, 另一个不记得了,用的不多。
进入容器:

PID=$(docker inspect –format {{.State.Pid}} <container_name_or_ID>)
nsenter –target $PID –mount –uts –ipc –net –pid

进入后,就可以运行支持的 linux 命令了
也可以不用进入,用 docker-enter 直接运行 Linux 命令,

这个 nsenter 还是很有用处的,在 “docker exec” 或者“docker attach” 无效的时候,尤其有用。

nsenter 具体的用法,看这里: https://github.com/jpetazzo/nsenter

by: 小银运维站 禁止转载!谢谢!

 


退出移动版