http://www.cnblogs.com/CloudMan6/p/6774519.html

记得我们运行的第一个容器吗?现在通过它来体会一下 Docker 各个组件是如何协作的。

容器启动过程如下:

  1. Docker 客户端执行 docker run 命令。

  2. Docker daemon 发现本地没有 httpd 镜像。

  3. daemon 从 Docker Hub 下载镜像。

  4. 下载完成,镜像 httpd 被保存到本地。

  5. Docker daemon 启动容器。

docker images 可以查看到 httpd 已经下载到本地。

docker ps 或者 docker container ls 显示容器正在运行。

小结

Docker 借鉴了集装箱的概念。标准集装箱将货物运往世界各地,Docker 将这个模型运用到自己的设计哲学中,唯一不同的是:集装箱运输货物,而 Docker 运输软件。

每个容器都有一个软件镜像,相当于集装箱中的货物。容器可以被创建、启动、关闭和销毁。和集装箱一样,Docker 在执行这些操作时,并不关心容器里到底装的什么,它不管里面是 Web Server,还是 Database。

用户不需要关心容器最终会在哪里运行,因为哪里都可以运行。

开发人员可以在笔记本上构建镜像并上传到 Registry,然后 QA 人员将镜像下载到物理或虚拟机做测试,最终容器会部署到生产环境。

使用 Docker 以及容器技术,我们可以快速构建一个应用服务器、一个消息中间件、一个数据库、一个持续集成环境。因为 Docker Hub 上有我们能想到的几乎所有的镜像。

不知大家是否意识到,潘多拉盒子已经被打开。容器不但降低了我们学习新技术的门槛,更提高了效率。

如果你是一个运维人员,想研究负载均衡软件 HAProxy,只需要执行docker run haproxy,无需繁琐的手工安装和配置既可以直接进入实战。

如果你是一个开发人员,想学习怎么用 django 开发 Python Web 应用,执行 docker run django,在容器里随便折腾吧,不用担心会搞乱 Host 的环境。

不夸张的说:容器大大提升了 IT 人员的幸福指数。

最新文章

  1. IE8下导入EXCEL数据传到客户端以附件下载
  2. C# 一些知识点总结(二)_路径类,编码类,文件类...
  3. OC 入门
  4. MxNet下训练alexnet(一)
  5. RMAN_学习笔记4_RMAN Virtual Catalog虚拟恢复目录
  6. AngularJS 监控对象属性:$watch和$digest
  7. Asp.Net Web API开发微信后台
  8. jQuery技术内幕预览版.pdf1
  9. android PopupWindow显示位置
  10. PHP实现冒泡排序、双向冒泡排序算法
  11. frameset框架样式 加边框
  12. 守护进程VS守护线程
  13. MO_GLOBAL - EBS R12 中 Multi Org 设计的深入研究(1)
  14. mongodb备份还原脚本
  15. faker 模块
  16. centos6.5报错:checking filesystems failed问题处理
  17. 探讨e.target与e.currentTarget
  18. 【题解】 Codeforces 919F A Game With Numbers(拓扑排序+博弈论+哈希)
  19. ext3, ext4 和 reiserfs 文件系统性能对比
  20. Instagram/IGListKit 实践谈(UICollectionView框架)

热门文章

  1. Leetcode:search_insert_position
  2. Android lowmemorykiller
  3. PHP中常见的header类型
  4. Python爬虫开发【第1篇】【机器视觉及Tesseract】
  5. mysql字段去重方式
  6. leetCode(26):Unique Binary Search Trees
  7. Java类加载机制?
  8. [MAC] Load Crypto.Cipher.ARC4 Failed, Use Pure Python Instead.
  9. Linux文件锁【转】
  10. [TJOI2016&HEOI2016] 排序