您的当前位置:首页Docker容器进入方法

Docker容器进入方法

2022-07-12 来源:爱问旅游网
1. lxc(-attach)

直到Docker 0.8.1版本为止,LXC一直是管理容器的基本工具,Docker一直支持这个工具。但是从0.9.0版本开始,Docker默认使用libcontainer管理容器,不再依赖LXC了。因此默认情况下,你不能使用lxc-attach了。

如果你仍然希望使用lxc-attach,那么你需要使用-e lxc选项来重新启动Docker服务进程。使用这个选项,Docker的内部将再次使用LXC管理容器了。完成这个任务最简单的做法就是创建/etc/default/docker文件(如果这个文件仍然不存在),并添加以下内容:

DOCKER_OPTS=\" -e lxc\"

重新启动Docker服务。要连接容器,你需要知道完整的容器ID:

#docker ps --no-trunc

接下来,你就可以连接这个容器了。要完成下面工作,你还需要root权限:

#lxc-attach -n -- /bin/bash

2. Nsenter(可行)

从util-linux版本2.23开始,nsenter工具就包含在其中。它用来访问另一个进程的名字空间。nsenter要正常工作需要有root权限。很不幸,Ubuntu 14.4仍然使用的是util-linux版本2.20。安装最新版本的util-linux(2.24)版,请按照以下步骤:

#tar -zxf-cd util-linux-2.24

#./configure –without-ncurses

#make

#cp nsenter /usr/local/bin/

为了连接到容器,你还需要找到容器的第一个进程的PID。

# docker inspect --format '{{.State.Pid}}'

通过这个PID,你就可以连接到这个容器:

# nsenter --target PID --mount --uts --ipc --net --pid --

因篇幅问题不能全部显示,请点此查看更多更全内容