From ed6e476e946f826a0f9e36e499028ff1a887b75b Mon Sep 17 00:00:00 2001 From: lushiping <812120608@qq.com> Date: Thu, 25 Sep 2014 15:31:18 +0800 Subject: [PATCH 1/4] Fix issue #1: change helo to hello --- SUMMARY.md | 3 ++- image/README.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/SUMMARY.md b/SUMMARY.md index 4d21ab6..8dddc54 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -25,8 +25,9 @@ * [守护态运行](container/daemon.md) * [终止](container/stop.md) * [导出和导入](container/import_export.md) - * [删除](container/rm.md) + * [进入容器](container/enter.md) * [仓库](repository/README.md) + * [删除](container/rm.md) * [Docker Hub](repository/dockerhub.md) * [私有仓库](repository/local_repo.md) * [配置文件](repository/config.md) diff --git a/image/README.md b/image/README.md index fb38d5e..43bdeb9 100644 --- a/image/README.md +++ b/image/README.md @@ -8,3 +8,4 @@ Docker把下载的镜像存储到本地,如果一个镜像不在本地,docke * 使用和管理本地主机上的镜像 * 创建一个基础的镜像 * 上传镜像到Docker Hub(公共镜像仓库) + From 18507f9eaf5b1da635b42f9270f36e55afe424a4 Mon Sep 17 00:00:00 2001 From: lushiping <812120608@qq.com> Date: Thu, 25 Sep 2014 15:42:21 +0800 Subject: [PATCH 2/4] Fix issue #1: change helo to hello --- container/enter.md | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 container/enter.md diff --git a/container/enter.md b/container/enter.md new file mode 100644 index 0000000..18cc260 --- /dev/null +++ b/container/enter.md @@ -0,0 +1,25 @@ +##进入容器 +进入容器有很多方法,其中docker自带的有个命令为`docker attach`。 +当你多个窗口同时attach到一个容器的时候,你在一个窗口执行命令其他窗口都能同步显示,当某个命令阻塞之后,那么你就无法进入容器,执行命令操作了。 + +很多同学都会想到ssh,ssh这里不做介绍了。 + +推建大家使用下面的方法: +###nsenter +从util-linux版本2.23开始,nsenter工具就包含在其中。它用来访问另一个进程的名字空间。nsenter要正常工作需要有root权限。 +很不幸,Ubuntu 14.4仍然使用的是util-linux版本2.20。安装最新版本的util-linux(2.24)版,请按照以下步骤: +``` +#curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf- +#cd util-linux-2.24 +#./configure --without-ncurses +#make nsenter +#sudo cp nsenter /usr/local/bin +``` +为了连接到容器,你还需要找到容器的第一个进程的PID。 +``` +docker inspect --format "{{ .State.Pid }}" +``` +通过这个PID,你就可以连接到这个容器: +``` +nsenter --target $PID --mount --uts --ipc --net --pid +``` From 929caa27e8c0b61b7f42618b1c063a96369bcecf Mon Sep 17 00:00:00 2001 From: lushiping <812120608@qq.com> Date: Thu, 25 Sep 2014 15:51:25 +0800 Subject: [PATCH 3/4] add enter container --- container/enter.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/container/enter.md b/container/enter.md index 18cc260..132f873 100644 --- a/container/enter.md +++ b/container/enter.md @@ -7,7 +7,7 @@ 推建大家使用下面的方法: ###nsenter 从util-linux版本2.23开始,nsenter工具就包含在其中。它用来访问另一个进程的名字空间。nsenter要正常工作需要有root权限。 -很不幸,Ubuntu 14.4仍然使用的是util-linux版本2.20。安装最新版本的util-linux(2.24)版,请按照以下步骤: +很不幸,Ubuntu 14.4仍然使用的是util-linux版本2.20。安装最新版本的util-linux(2.24)版,请按照以下步骤: ``` #curl https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz | tar -zxf- #cd util-linux-2.24 From 5912b8fb00fc4cb8ed1097c3dfa282547fbdd2aa Mon Sep 17 00:00:00 2001 From: lushiping <812120608@qq.com> Date: Thu, 25 Sep 2014 16:09:50 +0800 Subject: [PATCH 4/4] add enter container --- SUMMARY.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 8dddc54..4620a65 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -24,10 +24,10 @@ * [启动](container/run.md) * [守护态运行](container/daemon.md) * [终止](container/stop.md) - * [导出和导入](container/import_export.md) * [进入容器](container/enter.md) -* [仓库](repository/README.md) + * [导出和导入](container/import_export.md) * [删除](container/rm.md) +* [仓库](repository/README.md) * [Docker Hub](repository/dockerhub.md) * [私有仓库](repository/local_repo.md) * [配置文件](repository/config.md)