设为首页 收藏本站
查看: 1256|回复: 0

[经验分享] Docker系列(二)

[复制链接]

尚未签到

发表于 2018-5-30 07:35:09 | 显示全部楼层 |阅读模式
创建容器

新建容器

方法一:

[root@docker1home]# docker run -it centos:6 echo "hello"

hello

方法二:

[root@docker1home]# docker create -it centos:6 echo "hello"

c97b4ca48ce2f2065230398c57955c9ab9a31a3af9301217a626a16471697451

DSC0000.jpg


使用方法二创建的容易处于停止状态,使用docker start来启动它。docker run相当于先docker create再docker run。

[root@docker1home]# docker start c97

c97


DSC0001.jpg

当使用run命令来创建并启动容器时,docker在后台会运行如下标准操作:

1、检查本地是否存在指定的镜像,没有就从公有仓库下载;

2、利用镜像创建并启动一个容器;

3、分配一个filesystem,并在只读的镜像层外面挂载一个可读写层;

4、从宿主机配置的网桥接口中桥接一个虚拟接口到容器中去;

5、从地址池分配一个ip地址给容器;

6、执行用户指定的应用程序;

7、指定完成后容器被终止。


启动一个bash终端,允许用户进行交互操作:

[root@docker1home]# docker run -it centos:6 /bin/bash

DSC0002.jpg


-t让docker分配一个伪终端并绑定到容器的标准输入上

-i让容器的终端保持打开


在容器中使用ps –ef 查看发现容器中只运行了bash应用,没有其他进程。

使用exit或ctrl+D退出容器,退出之后该容器就出于终止状态


DSC0003.jpg

守护态运行容器

[root@docker1home]# docker run -d centos:6 /bin/bash -c "while true;do echo hello;sleep1;done"

DSC0004.jpg


使用-d参数来实现守护态运行,会输出一个唯一的ID

[root@docker1home]# docker logs fb8

DSC0005.jpg


在守护态运行时可以使用dockerlogs查看容器的输出信息


终止容器

[root@docker1~]# docker stop fb8

当一个容器中的应用结束时,它就会自动终止,docker stop终止容器时会先发送一个SIFTEAM信号,默认10秒后再发送一个SIGKILL信号。

[root@docker1 ~]# docker ps -a -q

DSC0006.jpg


docker ps -a –q命令只显示容器的ID信息。

出于终止状态的容器当然也可以使用docker start命令来重新启动。


进入容器

可以使用docker attach、docker exec命令或nsenter工具进入容器

[root@docker1~]# docker attach fae

DSC0007.jpg


[root@docker1~]# docker exec -it fae /bin/bash

DSC0008.jpg


下面使用nsenter命令进入容器,使用此命令先要获得容器的pid,具体操作方法如下:

[root@docker1~]# PID=$(docker inspect --format "` `.`State`.`Pid `" fae)

[root@docker1~]# echo $PID

2013

[root@docker1~]# nsenter --target $PID --mount --uts --ipc --net --pid

[root@fae7382a0306/]#


删除容器

使用docker命令删除一个处于终止状态的容器,要删除一个在运行的容器,使用-f参数,Docker会发送一个SIGKILL信号给容器。

DSC0009.jpg

DSC00010.jpg



-f:强制删除运行中的容器;

-l:删除容器的链接,但保留容器;

-v:删除容器挂载的数据卷。


导入和导出容器

使用docker export命令可以导出某个容器

[root@docker1~]# docker export fb8 > firstexport.tar

DSC00011.jpg


使用docker import命令可以导入某个容器

[root@docker1~]# cat testexport.tar |docker import - jutest/centos:v6

14a8da86fb1e97cc3e73ffd93ba205ab4c231cb4312256e187ab68dacb29595c

  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-482791-1-1.html 上篇帖子: Docker系列(一) 下篇帖子: Docker系列(三)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表