zoukankan      html  css  js  c++  java
  • Docker两种方式进入后台运行的容器

    1、在启动容器的时候,有时候我们加了参数-d,这时容器自动进入后台运行。如果我们要进入容器,该怎么办?通常使用docker attach命令和nsenter工具。

    2、docker attach是Docker自带的命令。

    $ docker run -idt centos
    $ docker ps
    $ docker attach 9b930d9d1e20
    $ docker attach cocky_carson


    该命令有时候并不方便,因为他是同步的,若有多个用户attach到一个容器,一个窗口命令阻塞,其他窗口都无法执行。

    3、nsenter命令:在util-linux包2.23版本后都有自带包含。nsenter可以访问另一个进程的名字空间。

    是否安装nsenter,通过nsenter --version查看。

    a.安装nsenter

    $ wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz
    $ tar -zxvf util-linux-2.24.tar.gz
    $ cd util-linux-2.24
    $ ./configure --without-ncurses && make nsenter
    $ cp nsenter /usr/local/bin

    b.通过nsenter命令进入容器

    为了链接到容器,需要知道容器的PID,可以使用inspect获取,如:

    docker inspect -f {{.State.Pid}} 5fbe4b029608 ##获取PID,5fbe4b029608为容器ID
    docker inspect 5fbe4b029608 ##查看该容器的详细信息

    获取了PID之后,就可以通过下面的命令进入容器了

    nsenter --target 31353 --mount --uts --ipc --net --pid ##31353为"docker inspect -f {{.State.Pid}} 5fbe4b029608"输出的结果

  • 相关阅读:
    检测用户名和密码
    文本框赋值-数组的使用
    表单元素属性应用
    innerText和textContent区别以及兼容处理
    1.1自动化测试
    coockie & session
    springMVC 实现上传文件和下载文件
    el 表达式 显示错误 总结
    杭电oj_2063——过山车(java实现)
    关于java静态存储类的一个知识点
  • 原文地址:https://www.cnblogs.com/linjiqin/p/8612580.html
Copyright © 2011-2022 走看看