Docker的那些事儿—容器进入方式(19)


上一篇:Docker的那些事儿—容器启动方式(18)


前面了解了如何创建container了,那么自然而然有人会问,接下来我怎么进入running的container? 实际上,进入Docker container有好几种方式:

1、docker exec

2、docker attach

3、ssh

使用docker exec

Docker的那些事儿—容器进入方式(19)_第1张图片

使用docker attach

Docker的那些事儿—容器进入方式(19)_第2张图片

缺点:当多个窗口同时attach到同一个容器时,所有的窗口都会同步的显示,假如其中的一个窗口发生阻塞时,其它的窗口也会阻塞,docker attach命令可以说是最不方便的进入后台docker容器的方法。

使用ssh

ssh的方式使用场景比较单一,这要求需要事先登录container修改sshd服务(可能需要安装sshd服务)。然后就可以从宿主机直接ssh到container中。

例如:root@Ubuntu-001:~# ssh [email protected]

#shayu是容器内创建的用户

#172.17.0.2是docker自动为创建的容器分配的IP,可以通过docker inspect containerID查询

Docker的那些事儿—容器进入方式(19)_第3张图片
Docker的那些事儿—容器进入方式(19)_第4张图片

Ctrl + p and Ctrl + q 退出container或者exit 退出container。

而实际上docker run可以直接进入container

但是有些时候run container的时候并不一定要进入container,只需要后台run起来就可以,所以-d的作用就在于此。实际上大多数情况run时会加上-d参数,等到后续需要进入container才使用exec进入(exec是最常用的)。

当然我们还可以利用第三方的工具,例如nsenter,有兴趣的读者可以研究下。这里不再演示。



下一篇:Docker的那些事儿—容器生命周期管理(20)



Docker的那些事儿—容器进入方式(19)_第5张图片

你可能感兴趣的:(Docker的那些事儿—容器进入方式(19))