进入容器内部的四种方式

使用docker attach \ 使用SSH \ 使用nsenter \ 使用exec

1、 attach 

attach不适合produce 环境,原因在于多个终端同时使用attach进入一个容器时,信息会在多个终端同步显示。最重要的是,只要一个终端block了,所有的终端都会block。

2、ssh

(为什么不用ssh进入容器)https://www.oschina.net/translate/why-you-dont-need-to-run-sshd-in-docker?cmp

主要是密钥管理、安装server等问题。

3、nsenter

https://github.com/jpetazzo/nsenter

how to install nsenter:

$ wget https://www.kernel.org/pub/linux/utils/util-linux/v2.24/util-linux-2.24.tar.gz  

$ tar -xzvf util-linux-2.24.tar.gz  

$ cd util-linux-2.24/  

$ ./configure --without-ncurses  

$ make nsenter  

$ sudo cp nsenter /usr/local/bin  


要连接到一个容器,需要获取容器里第一个进程的pid

$ docker inspect <container-id>

$ docker inspect -f {{.State.Pid}} <container-id>

$  nsenter --target <pid> --mount --uts --ipc --net --pid


4、docker exec

最简单的命令 docker exec -it /bin/bash <container-id>

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 摘要:在使用Docker创建了容器之后,大家比较关心的就是如何进入该容器了,其实进入Docker容器有好几多种方式...
    暖夏未眠丶阅读 1,167评论 0 0
  • 参考:https://www.cnblogs.com/xhyan/p/6593075.html Docker容器进...
    左子穆阅读 4,477评论 0 50
  • 一、Docker 简介 Docker 两个主要部件:Docker: 开源的容器虚拟化平台Docker Hub: 用...
    R_X阅读 4,595评论 0 27
  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,964评论 15 147
  • 你青葱了我的岁月,我却黑白了你的青春。是不是有的爱就该沉沦大海,有的情就该埋没于心? 只能在梦里拥抱着,亲吻着,醒...
    octopus欣冉阅读 289评论 0 0

友情链接更多精彩内容