Docker提供一种方法在容器中运行安全隔离的应用程序,应用程序与所有依赖项和库一起打包在容器中。因为你的应用程序总是可以使用它在构建镜像中期望的环境运行,测试和部署比以往任何时候都更简单,因为你的构建将是完全可移植的,并且可以按照设计在任何环境中运行。由于容器是轻量级的,并且没有虚拟机管理程序的额外负载运行,你可以在单个内核上运行依赖于不同库和环境的多个应用程序,每个应用程序不会干扰另一个。这允许你通过将应用程序的“扩展单位”从虚拟机或物理机转移到容器实例,从而获得更多的硬件。
Docker平台的典型工作流程
- 将你的代码及其依赖项添加到Docker容器中:
- 编写一个Dockerfile指定执行的环境并提取你的代码。
- 如果你的应用程序依赖外部应用程序(例如Redis或MySQL),只需在Docker Hub等registry中找到它们,并在一个Docker Compose文件中引用它们和你的应用程序,以让它们可以同时运行。
- 软件提供商还通过Docker Store分发付费软件。
- 构建,然后在开发时通过Docker Machine在虚拟主机上运行容器。
- 如果需要,为你的解决方案配置网络和存储。
- 将Build上传到(我们的,你的或你的云提供商的)Registry来与你的团队合作。
- 如果你需要在多个主机(VM或物理机)上扩展你的解决方案,请计划如何设置你的Swarm集群和扩展它以满足需求。
- 注意:使用通用控制平面,你可以使用友好的UI管理你的Swarm群集!
- 最后,使用Docker Cloud部署到你的首选云提供商(或者,为了冗余,多个云提供商)。或者,使用Docker Datacenter,部署到你自己的内部硬件。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~