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

[经验分享] Docker 终极指南 (三)

[复制链接]

尚未签到

发表于 2016-1-11 12:23:41 | 显示全部楼层 |阅读模式
超级、无比简单的步骤说明
  

第一步

安装Docker。
Docker命令工具需要root权限才能工作。你可以将你的用户放入docker组来避免每次都要使用sudo。
  

第二步

使用以下命令从公共registry下载一个镜像:

$> docker pull ubuntu:latest
ubuntu
:latest: The image you are pulling has been verified
3b363fd9d7da: Pull complete
.....<bunch of downloading-stuff output>.....8eaa4ff06b53: Pull complete
Status: Downloaded newer image for ubuntu:latest
$
>
这个公共registry上有你需要的几乎所有东西的镜像:Ubuntu、Fedora、Postgresql、MySQL、Jenkins、Elasticsearch、Redis等等。Docker开发人员在这个公共registry里维护着数个镜像,不过你能从上面拉取大量来自用户发布的自建镜像。
也许你需要或想要一个私有的registry(用于开发应用之类的容器),你可以先看看这个。现在,有好几个方式可以设置你自己的私有registry。你也可以买一个。
  

第三步

列出你的镜像:

$> docker images
REPOSITORY  TAG     IMAGE ID      CREATED     VIRTUAL SIZE
ubuntu      latest  
8eaa4ff06b53  4 days ago  192.7 MB
  

第四步

从该镜像上创建一个容器。

$> docker run --rm -ti ubuntu /bin/bash
root@4638a40c2fbb
:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root
......
root@4638a40c2fbb
:/# exit
上一条命令的简要说明:


  • --rm:告诉Docker一旦运行的进程退出就删除容器。这在进行测试时非常有用,可免除杂乱
  • -ti:告诉Docker分配一个伪终端并进入交互模式。这将进入到容器内,对于快速原型开发或尝试很有用,但不要在生产容器中打开这些标志
  • ubuntu:这是容器所基于的镜像
  • /bin/bash:要运行的命令,因为我们以交互模式启动,它将显示一个容器的提示符

在运行run命令时,你可指定链接、卷、端口、窗口名称(如果你没提供,Docker将分配一个默认名称)等等。
现在,我们在后台运行一个容器:

$> docker run -d ubuntu ping 8.8.8.831c68e9c09a0d632caae40debe13da3d6e612364198e2ef21f842762df4f987f
$
>
输出的是分配的ID,因为是随机的,你的将有所不同。我们来检查一下容器是否起来了:

$> docker ps
CONTAINER ID IMAGE         COMMAND         CREATED        STATUS        PORTS  NAMES
31c68e9c09a0 ubuntu:latest "ping 8.8.8.8"  2 minutes ago  Up 2 minutes         loving_mcclintock
就在那,它被自动分配了一个叫loving_mcclintock的名称。我们看看容器里正在发生什么:

$> docker exec -ti loving_mcclintock /bin/bash
root@31c68e9c09a0
:/# ps -aux|grep ping
root 
1 0.0 0.0 6504 636 ? Ss 20:46 0:00 ping 8.8.8.8
root@31c68e9c09a0
:/# exit
我们所做的是在容器里运行程序,这里的程序是/bin/bash。-ti标志与docker run的作用相同,将我们放置到容器的控制台里。
  

结尾

差不多就是这样了。有太多的东西可以讲,但那超出了本文的范围。
不过我会提供一些我认为非常重要或有趣的链接和延伸阅读材料。
Docker的基本结构:


  • https://docs.docker.com/introd ... cker/
  • http://blog.docker.com/2014/03 ... iner/

延伸阅读:



  • Dockerfiles:允许你使用一个文本文件定义镜像,这非常重要
  • 我说过dockerfiles非常重要吧?
  • 你真应该看看dockerfiles

  • docker build:你需要这个来构建你的dockerfiles

  • docker push/docker pull

  • docker create/docker run

  • docker rm/docker rmi

  • docker start/docker stop
  • docker exec
  • docker inspect
  • docker tag
  • Links
  • Volumes

有趣的链接:


  • ANNOUNCING DOCKER MACHINE, SWARM, AND COMPOSE FOR ORCHESTRATING DISTRIBUTED APPS
  • Docker at Shopify: How we built containers that power over 100,000 online shops
  • Why CoreOS is a game-changer in the data center and cloud
  • Docker Misconceptions
  • Microservices - Not a Free Lunch!
  • Feature Preview: Docker-Based Development Environments

  • How to compile Docker on Windows (感谢reddit的computermedic提供)

有用的项目和链接


  • Phusion Docker baseimage
  • Shipyard
  • DockerUI
  • CoreOS
  • Decking
  • Docker-py
  • Docker-map
  • Docker-fabric

运维网声明 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-163042-1-1.html 上篇帖子: Docker服务无法启动解决办法 下篇帖子: docker的一些操作
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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