原文:Docker for 10 things
作者:Parth Mudgal
译者:roy

Docker是开发人员和系统管理员构建,发布和运行分布式应用程序的开放平台,可以在笔记本电脑、数据中心、虚拟机还有云服务器上运行。 下面将介绍使用Docker工具来提高生产率的10种方法。

本地依赖

你需要在本地系统上快速试用 magento 吗?或者在项目中使用Mysql?或者大多数的开源项目,那么请使用Docker。你将在上述用例中节省30-60分钟不等的时间。

构建环境

没有合适的环境编译一些源代码?可以使用Docker导入源码并用docker来编译。典型的例子是Docker Golang编译器

微服务

你在使用微服务吗?将每个服务打包成一个docker镜像并使用docker组合(docker-compose)是模拟生产环境的一个好方法(参考Docker网络)。刚开始确实需要做些工作,但最终会有巨大的生产力提升。

自动化测试

如何编写自动化的集成测试用例,不需要很长时间就可以开始运行,而且还易于管理?

在这里不讨论在docker中如何运行测试用例,而是针对某个docker镜像运行测试用例。针对docker镜像测试有一个很大的优势。我的测试流程使用docker镜像(app+db),开始时使用MySQL镜像加载数据然后使用app镜像测试API。这个脚本展示了一个快速示例。

部署过程

你可以使用docker镜像自行部署。许多大的云服务商支持docker托管,如果你能通过shell访问指定的节点(node)/虚拟机(vm),事情就更容易。只需设置docker并在所需的端口上运行docker映像。

持续部署

有了docker,持续部署(Continuous Deployment)就变得很容易(杀掉老的docker镜像并重新启动一个新镜像)。关于这一部分的自动化有很多选项,你可能早就听过Kubernetes。

多租户服务

如果你的应用程序要提供给多租户(租户是一组用户,有点像一个组织),但你的应用程序是按单一租户设计的,那么使用子域名+docker可以很快让你提供多租户服务。

一台机器上的多个应用

这与上面的微服务有点关系,但即使你没有微服务,只是服务,docker仍然可以很好地管理单个计算机上的所有服务。你应该使用不同文件夹来存储每个docker镜像下的数据。

扩展QPS

通过创建另一个容器,docker可以帮助你轻松地横向扩展。如果你预计将会有一个巨大的高峰流量,这可以帮到你。只需添加更多的机器,并增加负载平衡器后面的运行容器的数量。

请在下面的评论中分享你的第十个用法。我发现只有九个。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐