码头工人如何进入启动容器

  

本文介绍了码头工人如何进入启动容器,分享给大家,具体如下:

  

在使用- d参数时,容器启动后会进入后台,用户无法看到容器中的信息,也无法进行操作。

  

这个时候如果需要进入容器进行操作,有多种方法,包括使用官方的附加或exec命令,以及第三方的nsenter工具等。
  

  

<强> 1,把命令
  

  

附加命令是码头工人自带的命令,命令格式为:
  

  

<代码>码头工人附加[-detach-keys [=[]]] [-no-stdin] [-sig-proxy [=true]]容器

  

支持三个主要选项:

  

·-detach-keys[=[]]:指定退出附加模式的快捷键序列,默认是CTRL-p CTRL-q;

  

·-no-stdin=true |假:是否关闭标准输入,默认是保持打开;

  

·-sig-proxy=true |假:是否代理收到的系统信号给应用进程,默认为真的。

  

但是,使用附加命令有时候并不方便。当多个窗口同时使用附加命令连到同一个容器的时候,所有窗口都会同步显示。当某个窗口因命令阻塞时,其他窗口也无法执行操作了。
  

  

<强> 2,exec命令
  

  

码头工人1.3.0从版本版本起提供了一个更加方便的exec命令,可以在容器内直接执行任意命令。该命令的基本格式为:

  

<代码>码头工人执行[- d |分离][-detach-keys [=[]]] (- | - interactive)(特权)(- t | tty] [- u |用户[=用户]]容器命令[ARG…)。

  

比较重要的参数有:

  

·-, - interactive=true |假:打开标准输入接受用户输入命令,默认为假;

  

·特权=true |假:是否给执行命令以高权限,默认为假;

  

·- t、tty=true |假:分配伪终端,默认为假;

  

·- u,用户=" ":执行命令的用户名或ID。

  

例如进入到刚创建的容器中,并启动一个bash:
  

  

码头工人如何进入启动容器

  

可以看的到,一个bash终端打开了,在不影响容器内其他应用的前提下,用户可以很容易与容器进行交互。
  通过指定——参数来保持标准输入打开,并且分配一个伪终端。通过exec命令对容器执行操作是最为推荐的方式。

  

<强> 3,nsenter工具
  

  

在util-Linux软件包版本2.23 +中包含nsenter工具。如果系统中的util-Linux包没有该命令,可以按照下面的方法从源码安装:

        $ cd/tmp;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   让美元nsenter,,cp nsenter/usr/local/bin      

为了使用nsenter连接到容器,还需要找到容器进程的PID,可以通过下面的命令获取:

        PID=$ {{.State(码头工人检查——格式”。Pid}}”)      

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

        nsenter——目标PID美元——山——生产——ipc -网- PID      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
  

码头工人如何进入启动容器