导语
上篇分享中,我们介绍了关于如何创建容器、如何启动容器、如何停止容器。这篇我们来分享一下如何操作容器。
如何进入容器
可以通过使用-d参数启动容器后会进入后台运行,用户无法查看容器中的信息,无法对容器中的信息进行操作。
这个时候如果我们需要进入容器对容器进行操作,那么就可以通过 attach 或者是 exec命令来进行操作。
attach命令
attach 是Docker自带的命令,其命令格式如下
docker [container] attach [--detach-keys[=[]]] [--no-stdin] [--sig-proxy[=true]] CONTAINER
从命令中可以看到这个命令支持三个参数
- –detach-keys[=[]] :指定退出attach模式的快捷键
- –no-stdin=true :是否关闭标准输入,默认是打开
- –sig-proxy=true:是否代理收到的系统信号给应用进程使用默认是true。
下面我们来看如何使用这个命令。
[root@localhost ~]# docker run -itd ubuntu
83528e7f40943932dfc635501f5d7ac58656b0798cbcbf5d0906371596a9706c
[root@localhost ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
83528e7f4094 ubuntu "/bin/bash" 5 minutes ago Up 5 minutes eager_lamport
[root@localhost ~]# docker attach eager_lamport
root@83528e7f4094:/#
执行完成之后会看到,底部的命令导航栏中的内容变成了容器内部的路径,但是使用attach命令有一点不好,就是如果有多个窗口连接同一个容器的时候,所有的窗口都会同步进行显示。当某个窗口阻塞的时候,其他窗口也无法执行命令。
exec 命令