让Docker使用更方便的Exec

让docker使用更方便的EXEC

作者:丁麒玮 2015-08-18 11:26:31

云计算 Kubernetes是一个基于docker的容器集群管理系统,它的一大特点是拥有Replication Controllers,他的作用主要是保持所起动的Pod数量不变(pod里面装的是container)。

创新互联建站网络公司拥有十余年的成都网站开发建设经验,超过千家客户的共同信赖。提供成都网站制作、成都网站建设、网站开发、网站定制、友情链接、建网站、网站搭建、成都响应式网站建设公司、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务

我们在应用容器的过程中,无论是在通过Dockerfile在调试构建镜像的过程,还是容器运行一段时间想查看内部结构,我们还是希望能像操作本地机器一样,实时的查看容器内部文件,代码或者日志。或是修改文件,拷贝文件目录等等。

- 访问容器内部,目前有两种方法

1. Docker自带的exec命令

2. Nsenter工具

- 来说说Docker exec 命令方式访问

- 如图所示,简单的ls命令。Linux系统自带的命令都可以通过这种方式运行。文件放错位置了,mv一下,查看log,就cat log.log一下,等等。

Exec加点料

- 简单的操作不能满足我们对他的好奇...

- 我们运行一下 docker exec -ti 61f ps -ef

- 发现只有3个进程,进程1是CMD命令启动的脚本;进程2是脚本启动的程序;进程3是我们运行ps -ef的进程。

- 出于好奇,我又docker exec 9fe0 kill 15

- 容器从此就停止了...

- 原因是杀掉进程后,Dockerfile指定的CMD["/run.sh"]脚本运行结束,CMD入口已经退出,导致容器退出。

问题还没结束

- Kubernetes是一个基于docker的容器集群管理系统,它的一大特点是拥有Replication Controllers,他的作用主要是保持所起动的Pod数量不变(pod里面装的是container)。我猜想如果类似的kill掉容器内部的进程,那么kubernetes应该会让这个container重新启动。于是就来动手试试。

- 时速云他们应用了kubernetes,并且提供了客户端tce可以使用exec功能。运行 tce exec bbb-145fv-zkdqz ps -ef

- tce exec bbb-145fv-zkdqz kill 15

没有重启??

- 再次运行 tce exec bbb-145fv-zkdqz ps -ef

- 又出现了。

- 由此可见Kubernentes的Replication Controllers还是很强大的。保证了集群中有指定数量的pod副本在运行。

原文链接:http://www.searchcloudcomputing.com.cn/showcontent_90209.htm
 

本文名称:让Docker使用更方便的Exec
网址分享:http://www.csdahua.cn/qtweb/news39/236039.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网