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

[经验分享] docker容器操作

[复制链接]

尚未签到

发表于 2015-4-18 06:18:46 | 显示全部楼层 |阅读模式
  Docker运行容器需要一个命令



sudo docker run
  注:运行容器分为两种,一种是新建一个容器运行,另一种是运行已经终止了的容器
  最简单的docker应用



sudo docker run ubuntu:14.04 /bin/echo 'Hello world'
DSC0000.png
  这里指定一个镜像:ubuntu 14.04。这是我们容器中运行的来源。docker称这个为镜像
  当你指定一个镜像,docker会查看这个镜像是否有一次加载到你的docker主机上,如果没有发现,docker就会在镜像仓库Docker Hub下载公共镜像
  只要"hello word"被输出,容器就会停止
  注意:如果出现找不到index.docker.io或者registry-1.docker.io等,可以ping一下,然后把得到的IP加入hosts中,有点奇怪

  
  运行一个交互式的容器



sudo docker run -t -i ubuntu:14.04 /bin/bash
DSC0001.png

  创建一个容器,让它以守护进程的模式运行



sudo docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
DSC0002.png
  -d 标识告诉docker运行容器在后台模式运行
  没有看到输出的 hello world ,而是输出了一个很长的字符串,
  这个长的字符串叫做容器ID。它是容器的唯一标识,所以我们可以使用它。

  查看docker正在运行的容器



sudo docker ps
DSC0003.png
  这里的CONTAINER ID和NAMES则是自动分配的短ID和名称,这个短ID和上面的长ID作用是一样的
  docker会在容器启动的时候自动给容器命名,当然也可以自己给容器指定名称
  那么hello world 的输出到哪儿了?



sudo docker logs tender_mclean
DSC0004.png
  停止正在运行的后台容器



sudo docker stop tender_mclean
DSC0005.png

  之前的一些例子都没什么实际的作用,运行一个web容器



sudo docker run -d -P training/webapp python app.py
DSC0006.png
  -P 标示通知Docker所需的网络端口映射从主机映射到我们的容器内
  我们指定了training/web镜像。这个预先建立好的镜像被我们创建后就已经包含了简单的python应用程序环境
  看已经停止的容器请 -a 标示
  在这种情况下,docker开放了5000端口(默认Phtyon端口)映射到主机端口49155上
  Docker可以配置绑定网络端口。在最后一个例子中-P标示,是-p 5000的快捷方式,-p 5000可以使端口5000映射到外部的端口(49000到49900端口)。我们也可以指定 -p 标示来指定端口



sudo docker run -d -p 5000:5000 training/webapp python app.py
  测试(用浏览器打开或者CURL)
DSC0007.png

  使用docker port可以指定容器ID或者名字映射到主机端的端口号



sudo docker port kickass_mayer 5000
DSC0008.png
  在这种情况下,我们看到端口5000映射到容器外的主机端口

  
  查看web应用容器日志



sudo docker logs -f kickass_mayer
DSC0009.png
  -f 即 tail -f 的意思,查看容器的标准输出

  
  查看容器进程



sudo docker top kickass_mayer
DSC00010.png

  Docker的底层信息。它会返回一个JSON文件记录docker容器的配置和状态信息



sudo docker inspect kickass_mayer
DSC00011.png
  对我们想要的信息缩小显示,例如,返回容器的IP地址



sudo docker inspect -f '{{ .NetworkSettings.IPAddress }}'  kickass_mayer
DSC00012.png

  
  停止容器



sudo docker stop kickass_mayer
  重启容器



sudo docker start kickass_mayer
  删除容器



sudo docker rm kickass_mayer
  注意:不能删除正在运行的容器,这样会保护意外删除可能需要的运行中容器

  
  进入容器
  如果一个容器后台运行了,但是想进入



sudo docker attach container_name
  导出容器



sudo docker export 7691a814370e > ubuntu.tar
  导入容器



cat ubuntu.tar | sudo docker import - test/buntu:v1.0
  也可以通过URL



sudo docker import http://example.com/exampleimage.tgz example/imagerepo
  

运维网声明 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-58193-1-1.html 上篇帖子: 【Docker】制作一个支持SSH终端登录的镜像 下篇帖子: docker on centos
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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