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

[经验分享] docker 五 简单使用容器

[复制链接]

尚未签到

发表于 2018-5-30 08:34:19 | 显示全部楼层 |阅读模式
简单地说,容器是镜像的一个运行实例,所不同的是,它有额外的可写文件层。
如果认为虚拟机是模拟运行的一整套操作系统(提供了运行态环境和其他系统环境)和跑在上面的应用。那么docker 容器就是地理运行的一个或一组应用,以及它们的必需运行环境。
1.1 创建docker 容器
新建容器 可以使用 docker create 命令新建一个容器,例如:
[root@node1 ~]# docker create -it centos:centos6 /bin/bash
*其中 -t 表示 进入终端 -i 表示容器的标准输入保持打开。
DSC0000.jpg
使用 docker create 命令新建的容器处于停止的状态,可以使用docker start 命令来启动它
Docker start (ID)
DSC0001.jpg
新建并启动容器
启动容器有二种方式,一种基于镜像新建一个容器并启动,另外一个是将在终止的状态的容器重新启动。所需要的命令主要为 docker run,等价于先执行 docker create命令 在执行 docker restart 命令
docker run -t -i centos:centos6 /bin/bash
DSC0002.jpg
当利用docker run 来创建并启动容器时,docker 在后台运行的标准操作包括:
1.检查本地是否存在指定的镜像,不存在就从公有仓库下载。
2.利用镜像创建并启动一个容器。
3.分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
4.从宿主机配置的网桥中接口中桥接一个虚拟接口到容器中去。
5.从地址池配置一个ip地址给容器。
6.执行用户知道的应用程序。
7.执行完毕后容器被终止。
DSC0003.jpg
用 exit 或者ctrl+d 则退出容器 如果容器退出 则关闭容器,可以使用 docker start 重启里面的服务 不会开启。
守护状态运行
更多的时候,需要让docker容器在后台以守护态形式运行。用户可以通过添加-d参数来添加
[root@node1 ~]# docker run -d centos:centos6 /bin/bash  -c "while true;do echo hello world;sleep 1; done"

DSC0004.jpg
要获取容器的输出信息,可以通过docker logs 命令
docker logs  容器id
终止容器
可以使用 docker stop 来终止一个运行中的容器,
[root@node1 ~]# docker stop d130a7e46842


DSC0005.jpg
处于终止状态的容器,可以通过docker start 命令来重新启动;
[root@node1 ~]# docker start d130a7e46842
DSC0006.jpg
还可以使用 docker restart 命令将一个运行态的容器终止,然后在重新启动它
[root@node1 ~]# docker restart d130a7e46842
DSC0007.jpg
进入容器
Docker 1.3版本起,提供了一个更加方便的工具exec,可以直接在容器内运行命令。
docker exec -ti d130a7e46842 /bin/bash
DSC0008.jpg
用exit 后 不关闭容器 而是在后台继续运行

删除容器
可以使用docker rm命令删除处于终止状态的容器,命令格式为 docker rm ,支持的选项包括
-f 强行终止并删除一个运行中的容器。
-l了删除容器的连接,但保留容器。
-v 删除容器挂载的数据卷、
[root@node1 ~]# docker rm d130a7e46842

DSC0009.jpg
如果要删除一个运行中的容器,可以添加-f参数
[root@node1 ~]# docker rm -f e41acf350912
DSC00010.jpg
导入和导出容器 (重点)
导出容器是指导出一个已经创建的容器到一个文件,不管此时这个容器是否处于运行状态,可以使用docker export命令
[root@node1 docker]# docker export cec2eea2f8b6 > test1.tar
docker export (容器的id) > 文件.tar
可以讲这些文件传输到其他机器上,在其他机器上通过导入命令实现容器的迁移。
导入容器
导出的文件可以使用 docker import 命令导入,成为镜像
[root@node1 docker]# cat test1.tar | docker import - test/centos:v1
                             Docker import -(空格) 名字
[root@node1 docker]# docker images

DSC00011.jpg

  

运维网声明 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-482831-1-1.html 上篇帖子: 十分钟写一个简单的docker 下篇帖子: Windows Docker 客户端发布
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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