【观点】将Docker用作本地开发毫无意义

【观点】将Docker用作本地开发毫无意义

作者:翻译:Andrew 2015-09-14 09:34:37

云计算 我一直在尝试使用Docker作为本地开发环境,最近我又尝试了一遍,结果发现依然行不通。但是这次尝试我得出了进一步的结论,那就是对于大多数的开发堆栈而言,将Docker作为本地开发环境毫无意义,除了引入更多的复杂性外,几乎没有任何优势。

依托Docker运行的后端服务(如数据库,缓存,存储等)感觉相当***,但对于编译语言,Docker却并未本地开发的理想之选。

我一直在尝试使用Docker作为本地开发环境,最近我又尝试了一遍,结果发现依然行不通。但是这次尝试我得出了进一步的结论,那就是对于大多数的开发堆栈而言,将Docker作为本地开发环境毫无意义,除了引入更多的复杂性外,几乎没有任何优势。

若要实现高效的代码编写、编译、运行周期,意味着本地开发环境的容器没必要和生产环境的容器保持一致。这等于是否定了容器最重要的优势之一。换句话说,基于容器的开发环境根本无法达到非容器的本地开发环境的高效和流畅。

先看看我的要求,一个高效的coding、编译和运行周期需要单独的“非生产环境”的容器。首先,如果将生产环境的容器用于开发环境,容器必须包含某些预编译的组件,或者更甚,比如在你的Dockerfile中运行编译。这样,每次微小改动都需要重建容器。你的E/C/R(编辑、编译、运行周期)看起来像这样:

  1. docker-compose up -d #启动所有的容器,并运行 
  2. # edit myservice 
  3. make myservice # 构建服务 
  4. docker-compose build myservice 
  5. docker-compose restart myservice 

按这种方式,整个重建的周期要花很长时间(超过30秒,还不包括服务自身的构建时间)来触发无聊至极的上下文切换。这绝对是生产力杀手。

你可以说这是个实现上的问题,并且最终这一重建周期将会大大加快,但是对比本地环境,构建和重启过程需要几乎无感。我也不觉得这会有效利用到Docker的镜像缓存。

如果愿意放弃使用生产容器作为本地开发容器的想法,或者运行一个没有构建过程的解释性堆栈,你或许可以改变游戏规则。你可将资源库目录装载到容器中,进而监听文件的变更,在容器内使用实时装载工具或刷新机制来重新编译和发布应用。

在一系列愚蠢的步骤下,这种方式也可工作的很好。比如我们将花时间寻找和设置docker-osx-dev开发环境,装载并与源文件夹高效的同步,又将花几个小时摆弄boot2docker以便使inotify正常工作起来,但是我们的确找到了解决方案。

但当我们回顾并看看这一变态的过程,我们竟然找不到令人信服的优势所在。我们在本地使用foreman启动所有服务,对比docker-compose up,foreman start速度难以置信的快。除了Docker容器本身,我们也继承了管理boot2docker所带来的复杂性。配置文档长度也增加了三倍。

我们的初衷是使用Docker作为本地开发环境,打破在本地只能运行如Memcached和Elasticsearch的几种关键服务。最终,我们得到结论,通过docker-compose运行后端服务是很有意义的,但配置和运行本地开发环境需要尽量简单。另外,我们又回到了通过foreman来运行本地微服务的方式。从此不再回头。

原文链接:http://www.dockone.io/article/660

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/232785.html<

(0)
管理的头像管理
上一篇2025-04-20 08:04
下一篇 2025-04-20 08:05

相关推荐

  • 站群服务器和普通服务器到底哪个更适合GEO,怎么选?

    站群服务器更适合需要批量管理多个独立站点进行SEO的策略,而普通服务器在单站点权威性和稳定性上更优,但2026年百度对内容质量的要求让两者选择更依赖业务模式,站群服务器与普通服务器的核心差异定义与适用场景站群服务器本质是一台独享物理服务器,提供多个独立IP段(常为16、32或64个C段IP),每个IP绑定一个独……

    2026-07-28
    0
  • 物理服务器和云服务器做站群到底选哪个,哪个更稳定?

    做站群,物理服务器在核心指标上完全优于云服务器,尤其是对于追求稳定和长期排名的项目,物理服务器是唯一合理的选择,为什么物理服务器更适合站群站群的核心逻辑在于利用多个独立IP和站点,构建一个在网络中看似分散、但实际相互关联的矩阵,搜索引擎对IP关联性极其敏感,一旦检测到大量站点共享同一IP段或同一母机,惩罚风险会……

    2026-07-28
    0
  • 国内高防服务器哪家防御真实靠谱,怎么选?

    国内高防服务器哪家防御真实靠谱?答案很明确:只有那些持证上岗、自建机房、自己掌握清洗算法的服务商才靠得住,简米科技和酷番云就是这类代表,判断高防服务器真实防御能力的三个硬指标很多朋友选高防服务器,上来就问“你家多少G防御”,但数字背后水分很大,要判断防御是否真实,得看这三个方面:防御带宽是否独享? 有些服务商宣……

    2026-07-28
    0
  • 裸金属服务器和物理服务器有什么区别?,怎么选?

    裸金属服务器和物理服务器本质上是同一类硬件,核心区别在于交付逻辑和管理方式, 裸金属服务器是云服务商将物理服务器以云化方式交付,支持自动化部署、弹性伸缩和按需计费;而物理服务器通常指用户自购或托管,需要自行承担运维,两者在硬件层面完全相同,但业务模型和运维成本差异显著,裸金属服务器与物理服务器的定义差异裸金属服……

    2026-07-28
    0
  • 做GEO站群选哪家服务器服务商靠谱,怎么选?

    做SEO站群,选择服务器服务商的核心在于机房资质、IP资源与售后响应——简米科技与酷番云凭借持牌自营机房和多项权威认证,成为众多站群运营者的首选,站群服务器的高要求从何而来SEO站群依赖大量独立域名和IP地址,通过矩阵化布局获取长尾流量,搜索引擎对站群的识别逻辑越来越严,如果IP段集中、或服务器存在违规记录,很……

    2026-07-28
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注