在任何地方都可以开发、部署运行任何程序

Docker是一个为开发者和系统管理员开发、运输和运行程序的平台。Docker可以让你快速的组装程序的组件,并且消除了运行带来的额外影响。Docker可以使你的代码测试部署带生产环境更加快速。

Docker由一下组成:

  • Docker 引擎 - 轻量级,开源的虚拟化容器,连接了构建和组装程序的工作流。
  • Docker Hub - 一个 SaaS服务,用来分享和管理你的程序脚本。

为什么使用Docker?

更加快速的分发你的程序。

  • 我们希望您的对于环境中能更好地发挥作用。Docker的容器,和他的工作流程就是这样产生的,帮助开发人员,系统管理员,质量保证,和部署工程师合理的配合工作,让你的代码投入生产,并使其有用。我们创建了一个标准的容器格式,它允许开发人员关心容器内部的应用程序,系统管理员和操作员可以在部署时候进行运行容器的工作。职责这种分离简化,简化了代码的管理和部署。
  • 我们可以很容易地建立新的容器,使您的应用程序快速迭代,并增加其知名度。这有助于大家在您的组织中了解应用程序的工作原理以及它是如何构建的。
  • Docker容器是轻量级的,速度快!容器具有亚秒级的启动时间,降低了开发,测试和部署的周期。

部署和扩展更加容易

  • Docker容器可以运行在(几乎)任何处。您可以部署容器在台式机,物理服务器,虚拟机,数据中心,以及公共云和私有云。
  • 由于Docker可以运行在这么多平台上,使用可以很容易地移动你的应用程序。当您需要,您可以从测试环境的应用程序轻松地移动到云和生产环境。
  • Docker的轻量级容器也使得承载更多和更快速。必要时,可以快速地推出更多的容器,当我们不再需要时候,关闭它们也很容易。

获取更高密度运算和运行更多工作负载

  • Docker容器不需要管理程序,所以你就可以装更多到你的主机。这意味着每服务器你能得到更多的价,并有可能在设备和许可证方向减少你的花费。

容易管理所以使得部署更加快速

  • 由于Docker加快您的工作流程,它使得很多小的变化更加容易,而不是巨大的的更新。较小的变化意味着降低风险和更多的运行时间。

关于本指南

理解Docker章节会帮助你

  • 较高水平的指导Docker的工作原理
  • 理解Docker的架构
  • 发现Docker的特性
  • 知道Docker和虚拟机的不同
  • 知道Docker使用地方

安装指导

安装指导会帮助你在各种系统上安装Docker。

Docker使用指导

学习更多的Docker细节,并且提问与回到相关使用与实现。访问Docker使用指导

Release Notes

Version 1.2.0

该版本修复了一些bug和问题,并增加了新的功能和其他改进。这些包括:

新的重启策略

我们增加了一个--restart标志来重启运行指定的容器重启动。目前,有三种可用的策略:

  • no - 不重新启动容器,如果它死了。 (默认)
  • on-failure - 当非零代码退出,重新启动容器。这也是可以接受的。可选最大重启次数(例如,n-failure:5)。
  • always - 总是重新启动容器,无论返回是什么的退出代码。在Docker守护进程中,这将弃用--restart

新的标识 docker run:--cap-add–-cap-drop

在以前的版本中,Docker容器既可以给出完整的功能,也可以设置白名单,而丢弃其他人。二现在,使用--privileged将给予所有功能的容器内,而不是应用白名单。这是不建议在生产中使用,因为它是不安全的;这就好比因你是直接放在主机上。

对于docker run新版本增加了2个参数, --cap-add--cap-drop, 这给你了你想授予特定容器特定能力的细粒度控制。

docker run增加新标识-–device

之前,你只能把设备挂载你的--privileged的容器(使用-v)。现在可以使用--device来运行Docker并不需要特定的容器的。

可写的/etc/hosts文件,/etc/hostname和/etc/resolv.conf文件

现在你能编辑/etc/hosts文件,/etc/hostname和/etc/resolv.conf文件,在容器运行的时候。这非常有用,如果你需要绑定别的服务,来覆盖的话。

注意,这些修改文件,如果不保存,那么docker build的时候是没有效果的。这改变只会在运行的容器中产生效果。

在一个单独的程序运行Docker代理。

Docker的使用的代理将是对外的容器,它有自己单独的进程(每个连接一个进程)。这大大降低了守护程序的加载,从而增加了稳定性、效率和负载。

其他改进和变化

  • 当使用docker rm -时候,Docker现在会在移除之前kill掉容器(不是原来的停止)。如果你想先停止,你应该适应docker stop。
  • 增加 IPv6的支持,使用--dns
  • 在私人注册中加入了搜索功能。

参考文档