博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
两种进入容器的方法 - 每天5分钟玩转 Docker 容器技术(23)
阅读量:6159 次
发布时间:2019-06-21

本文共 758 字,大约阅读时间需要 2 分钟。

hot3.png

我们经常需要进到容器里去做一些工作,比如查看日志、调试、启动其他进程等。有两种方法进入容器:attach 和 exec。

docker attach

通过 docker attach 可以 attach 到容器启动命令的终端,例如:

这次我们通过 “长ID” attach 到了容器的启动命令终端,之后看到的是echo 每隔一秒打印的信息。

注:可通过 Ctrl+p 然后 Ctrl+q 组合键退出 attach 终端。

docker exec

通过 docker exec 进入相同的容器:

说明如下:

① -it 以交互模式打开 pseudo-TTY,执行 bash,其结果就是打开了一个 bash 终端。

② 进入到容器中,容器的 hostname 就是其 “短ID”。

③ 可以像在普通 Linux 中一样执行命令。ps -elf 显示了容器启动进程while 以及当前的 bash 进程。

④ 执行 exit 退出容器,回到 docker host。

docker exec -it <container> bash|sh 是执行 exec 最常用的方式。

attach VS exec

attach 与 exec 主要区别如下:

  1. attach 直接进入容器 启动命令 的终端,不会启动新的进程。

  2. exec 则是在容器中打开新的终端,并且可以启动新的进程。

  3. 如果想直接在终端中查看启动命令的输出,用 attach;其他情况使用 exec。

当然,如果只是为了查看启动命令的输出,可以使用 docker logs 命令:

115.png

-f 的作用与 tail -f 类似,能够持续打印输出。

下一节聊聊运行容器的最佳实践。

二维码+指纹.png

转载于:https://my.oschina.net/u/2397560/blog/912918

你可能感兴趣的文章
【云栖大会】探索云时代下的游戏开发模式
查看>>
【Hadoop Summit Tokyo 2016】Hivemall: Apache Hive/Spark/Pig 的可扩展机器学习库
查看>>
羊都哪里去了?
查看>>
大数据打造你的变美频道——数加平台上小红唇的大数据实践
查看>>
Manual手册的正确姿势
查看>>
Python之IPython开发实践
查看>>
Linux 应用程序开发入门
查看>>
MFC ListCtrl和IP控件的使用杂记
查看>>
ActiveMQ_基础学习
查看>>
有关OCS监控软件安装在windows上, 服务端显示乱码的问题
查看>>
Spring对JNDI的支持方法
查看>>
[C#]Attribute特性(2)——方法的特性及特性参数
查看>>
nagios监控单网卡双IP
查看>>
ExtJs之Ext.view.View
查看>>
YII中session和cookie
查看>>
python搭建服务器
查看>>
TCP三次握手及其背后的缺陷
查看>>
zookeeker如何解决HBase单节点故障
查看>>
E-MapReduce结合DataV进行数据展现
查看>>
Cocos2D v2.0至v3.x简洁转换指南(一)
查看>>