【发布时间】:2018-09-09 06:42:25
【问题描述】:
我正在努力解决一个似乎没有人在 Internet 上详细回答的问题。
“跨整个管道的标准化服务基础架构允许每个团队成员在生产平价环境中工作”
这是 Docker 的一个关键优势:它允许每个人在类似生产的环境中进行开发、测试或任何事情。因为通过管道传递的容器总是相同的。 我明白了。我知道这是必要的,而且 Docker 很容易做到这一点。 但我不明白的是,为什么在 Docker 之前这么难?如果我有一台生产机器和一台测试机器,我构建一个安装正确依赖项的脚本不会有任何问题,不管机器是什么。所以我在库或框架方面的环境将是相同的。
对于整个环境相关的好处,我唯一理解的是,Docker 允许开发人员选择他的操作系统,而不必担心与平台相关的错误。我已经遇到了适用于 Windows 而不是 Mac 的功能。我认为最糟糕的错误。所以是的,如果我当时有 Docker,我就不会遇到这个问题。但我不明白为什么 Docker 对于其他与环境相关的东西来说是一个奇迹。
我认为我不理解这一点,因为我只从事过小型项目。也许我也没有意识到“环境”这个词的全部含义。
我在这里缺少什么?为什么容器是标准化环境的突破口,而脚本可以实现这一点?
【问题讨论】:
-
没关系,现在你看到了图片的一小部分。这不仅仅是编写脚本、处理依赖关系...... Docker 对团队合作的方式、应用程序的设计和实现方式以及我们如何使用基础设施带来了巨大的变化。阅读以下概念:单体应用程序与微服务,为什么部署时间很重要,水平与垂直扩展,无服务器。如果您阅读history,可以找到一些拼图。
-
要获得相同级别的环境隔离,每个服务都需要一台机器/VM。
-
@tgogos 是的,我非常了解微服务的好处,并且我了解 Docker 的所有其他好处。我爱码头工人。但我就是不明白这一点:为什么在容器之前的任何地方都很难拥有类似产品的环境?
标签: docker development-environment production-environment test-environments