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"输出的结果

  • 相关阅读:
    hi35183e增加exfat文件系统的支持(转)
    UDP 单播、广播和多播(转)
    linux系统中,kill -3查看java进程状态无效的解决方法
    js是用什么语言编写实现的
    云海天教程
    Docker下安装MySQL
    如何延长手机的使用寿命时间
    如何延长空调使用寿命?
    Linux 发送邮件
    Linux jstack命令
  • 原文地址:https://www.cnblogs.com/linjiqin/p/8612580.html
Copyright © 2011-2022 走看看