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

[经验分享] Docker入门之三容器

[复制链接]
发表于 2017-12-7 06:28:09 | 显示全部楼层 |阅读模式
  上一篇博客学习了下镜像,今天来学习容器。容器类似一个手机中的沙盒环境,用来运行app实例。和镜像一样也是对容器的创建、删除、导出等。
  由于我买的参考书中的例子好多都是基于linux的,所以我将docker切换到Linux容器下,然后run了一个ubuntu镜像。
DSC0000.png

  一.新建与启动容器
  1.创建容器使用create,还是老方法,通过help来查看。create的options有好多选项,这里只是入门,大致的学一下,不一一细讲。以后有机会了再说,毕竟这是对docker的第一遍学习。
DSC0001.png

  下面我使用create创建容器,镜像是ubuntu.返回容器id。通过ps可以看到一个状态是created的容器,此时的容器并没有启动,启动的话需要使用另外一个命令start。首先看下格式及参数。
DSC0002.png

  此时再通过ps查看容器发现它的状态已经变成up了。
   DSC0003.png
  2.使用run新建并启动容器
  上面是先使用create创建一个容器然后使用start启动它,其实可以直接使用run来新建并启动容器。当利用docker run来创建并启动容器时,Docker在后台运行的标准操作包括:
  1.检查本地是否存在指定的镜像,不存在就从公有仓库下载。
  2.利用镜像创建一个容器,并启动。
  3.分配一个文件系统给容器,并在只读的镜像层外面挂载一层可读写层。
  4.从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中
  5.从网桥的地址池配置一个IP地址给容器
  6.执行用户指定的应用程序。
  7.执行完毕后容器自动终止。
  run的help和create的差不多。
DSC0004.png

  二、守护态运行
  有时候需要让docker容器在后台以守护态形式运行,可以通过-d来实现。如下图开启一个ubuntu容器启动bin/sh下脚本 执行后面的脚本语句,让它每隔10毫秒输出一个helloworld.然后可以通过logs来查看它的输出,可以看到第一次输出了两个,第二次输出了三个。
DSC0005.png

  三、终止容器
  上面的容器一直在后台运行,可以通过ps来查看它的状态
DSC0006.png

  如果想终止它,可以使用stop。下图是stop的格式和参数。
DSC0007.png

  这里将上面的容器终止掉,可以使用ps再次查看下它的状态。可以看到状态已经是退出。
DSC0008.png

DSC0009.png

  四、进入容器
  启动容器之后就是进入容器,对容器进行操作,操作有两个命令。
  1.attach命令
  还是从help开始,这里先启动ubuntu
DSC00010.png

DSC00011.png

  下图是使用attach进入容器,先点击了下回车,然后使用echo输出abc.最后使用ctrl p  ctrl q退出
DSC00012.png

  2.exec命令
  还是看help
DSC00013.png

  使用exec命令进入ubuntu的bin/bash下然后输出cuiyw最后ctrl p ctrl q退出
  五、容器的导入导出
  镜像有导入导出容器也有导入导出。
  1.export导出
  还是help,和镜像的类似,也使用-o,这里将ubuntu容器导出到E:\docker\test_ubuntu.tar,完成之后就会在文件夹下看到
DSC00014.png

DSC00015.png

DSC00016.png

  2.import导入
  还是help,然后将上面导出的再导进来
DSC00017.png

DSC00018.png

  此时再查看镜像时就会出现cuiyw/ubuntu的镜像
DSC00019.png

  3.load import的区别
  load是导入镜像存储文件到本地镜像库,import是导入一个容器快照到本地镜像库。区别是容器快照文件将丢弃所有的历史记录和元数据信息,仅仅保存容器当前的快照状态,镜像文件将保存完整记录,体积更大,容器快照导入时可以重新指定标签等元数据信息。

运维网声明 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-421518-1-1.html 上篇帖子: docker入门——构建镜像 下篇帖子: docker~docker-compose和VS解决方案的关系
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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