参考:https://medium.com/@012parth/docker-for-10-things-adaca4cca7f8
2017年架构师最重要的48个小时 | 8折倒计时
【编辑推荐】
- 外媒速递:构建Docker镜像中的五项重要提示
- 容器技巧教程:若何将Docker应用持续安排至Kubernetes傍边
- 关于Windows平滔喔赡Docker,我们须要懂得哪些事实?
- Docker将containerd 项目捐赠给云原生计算基金会
- 外媒速递:Docker的出现是否意味着传统应用法度榜样宣布治理机制即将走向终点
Docker 是一个开源的容器引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开辟者和体系治理员在标记本上编译测试经由过程的容器可以批量地在临盆情况中安排,包含 VMs(虚拟机)、bare metal、OpenStack 集群、云端、数据中间和其他的基本应用平台。容器是完全应用沙箱机制,互相之间不会有任何接口。本文将介绍 Docker 的九种用法,它们可晋升你的临盆力。
1. 本地依附(Local Dependency)
你须要在本地体系快速测验测验 Magento,或者为一个项目应用 MySQL?照样欲望测验测验大年夜部分开源项目?那就应用 Docker 吧,它将帮你节俭大年夜量时光。Docker 能晋升开辟者的开辟效力,让我们快速搭建开辟情况。
开辟情况的机械平日内存比较小,此前应用虚拟的时刻,经常须要为开辟情况的机械加内存,而经由过程 Docker 可以随便马虎的让几十个办事在 Docker 中跑起来。
2. 搭建情况(Build Environment)
如不雅你欲望构建源码,但发明没有预备好合适的情况。那么应用 Docker 是一个值得推敲的筹划。毕竟如不雅应用传统的办法一个一个地安装软件,一大年夜堆软件安装下来确切十分费时光,应用容器技巧省时省力,何乐而不为?
它能让你将运行情况和设备放在代码中然后安排,同一个 Docker 的设备可以在不合的情况中应用,如许就降低了硬件要乞降应用情况之间耦合度。这里有一个值得一看的例子: docker golang builder。
3. 微办事(Microservices)
你在应用微办事吗?微办事架构 —— 将一个整体式的应用拆分成松耦合的单个办事。
那不妨推敲一下 Docker,你可以将每个办事打包为一个 docker 镜像并应用 docker-compose 来模仿临盆情况(checkout docker networks)。最开端实践的时刻可能会比较费时辛苦,但长远地来看,最终将产生巨大年夜的临盆力。
4. 主动测试(Automated testing)
试想如许一个问题,若何编写主动化的集成测试用例,这些测试用例无需花很长时光来开端运行,应用者也可轻松治理。
这里不是指在 Docker 中运行测试用例,而是将测试用例与镜像慎密运行在一路。当你针对一个 docker 镜像编写测试用例时会有一个很大年夜的优势。下面简单介绍一下我的测试流程:运行两个 docker 镜像(app + db),在 MySQL 启动时加载数据,并在 app docker 上应用 API。可查看此脚本以获取快速的示例。
5. 安排过程(Deployment process)
你可以应用 docker 镜像进行自我安排。很多主流的主机供给商都支撑托管 docker,如不雅你拥有一个具有 shell 拜访权限的专用节点/vm,那么工作将变得更轻易。只须要设置好 docker,并在你想要的端口上运行你的镜像即可。
6. 持续安排(Continuous Deployment)
都说 Docker 生成合适持续集成/持续安排,在安排中应用 Docker,持续安排将变得异常简单,并会在进入新的镜像后从新开端。
关于这个部分的主动化工作,如今已经有很多筹划以供选择,Kubernetes 就是一个耳熟能详的名字。Kubernetes是容器集群治理体系,是一个开源的平台,可以实现容器集群的主动化安排、主动扩缩容、保护等功能。
7. 多租户情况(Multi-tenancy)
Docker 有意思的一个应用处景是在多租户的应用中,它可以避免关键应用的重写。如不雅你将应用法度榜样办事公开给多个租户(租户指一组用户,例如组织),应用单租户筹划设计的应用法度榜样如不雅用上了 sub-domain + docker 可以快速获得供给多租户的办事。
关于这个场景的一个例子是为物联网的应用开辟一个快速、易用的多租户情况。这种多租户的根本代码异常复杂,很难处理,从新筹划如许一个应用不只消费时光,也浪费金钱。应用 Docker,可认为每一个租户的应用层的多个实例创建隔离的情况,这不仅简单并且成本低廉,当然这一切得益于 Docker 情况的启动速度和其高效的 diff 敕令。
8. 来自一台机械的多个 APP(Multiple apps from one machine)
这与膳绫擎提到的微办事有些接洽,但即使你没有应用微办事,只是供给办事,Docker 仍可以很好地治理单个机械上的所有办事。你应当应用文件夹挂载来为每个基于数据的 docker 镜像保存数据。
9. 扩容 QPS(Scaling QPS)
Docker 经由过程创建另一个容器来赞助你轻松地进行程度扩大。如不雅碰到巨大年夜的岑岭流量,Docker 可以赞助你解决问题 —— 只需添加更多的机械并增长负载均衡器背后运行的容器数量。
还有文┞仿没提到的关于 Docker 的应用处景?迎接你和大年夜家一路分享~
推荐阅读
2017年架构师最重要的48个小时 | 8折倒计时 说实话,第一次听到“边沿计算”这四个字的时刻,我整小>>>详细阅读
本文标题:Docker 这九个不同的应用场景,你都用到了吗?
地址:http://www.17bianji.com/lsqh/38343.html
1/2 1