< 返回云服务器列表

云服务器:docker如何进入运行中的容器

发布时间:2019-12-31    来源: 118云vps 阅读:

  docker如何进入运行中的容器?我们想要进入正在使用的容器有三种方式,分别为:

  1)docker attach 【容器名称】:attach类似于VNC,操作会在各个容器界面显示。所以进入容器的操作都是同步显示,但是exit退出容器,容器也随停止掉,故不推荐使用这种方法

  2)docker exec -it 【容器名称/id】:执行单次命令后进入容器,不是很推荐此方式,虽然exit退出后容器不会停止

  3)nsenter -t 【容器pid】-m -u -i -n -p:通过这种方式进入容器,前提是必须要知道容器的PID号,才能执行,可以通过docker inspect -f {{.State .Pid}} 【容器名称】来获取容器的PID号

  拓展:关于进入容器

  在使用 -d 参数时,容器启动后会进入后台。某些时候需要进入容器进行操作,有很多种方法,包括使用docker attach 命令或nsenter命令。

  使用docker attach进入容器

  1.docker attach 允许我们进入后台进程.

  2.–sig-proxy=false 不使用容器转发信号,允许我们使用 ctrl -c 来退出,执行dockerps查看在后台运行

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

  也可以执行docker exec进入运行的容器

  docker exec -it 容器ID/名称 /bin/bash

  以上命令返回一个命令界面,exec代表直接在容器中运行命令