我正在使用 Docker 为 Web 应用程序创建开发设置。我们有在 Windows、Mac 和 Linux 上运行的开发人员。每个人都会使用 Linux 容器,但仍然存在仅影响 Windows 用户的问题。
我不希望以不同于生产的方式运行应用程序。相反,需要与众不同的是围绕开发人员设置的工具。
有没有办法从 Docker 容器中检测主机的操作系统?
我知道您对框架挑战的答案不满意,但请耐心等待。
您所面临的问题之所以出现,是因为在 Windows 上运行基于 Linux 的 Docker 是一种黑客行为。当然,您可能会遇到 Windows 文件系统问题,但可能还有其他我不知道的问题。
现在,据我了解,您希望向项目添加特定于平台的解决方法,以允许在 Windows 主机上的虚拟机中运行它。根据我的经验,我建议避免这种情况。
Windows 不是您项目的目标平台。添加针对 Windows 特定问题的解决方案会带来不必要的复杂性。不必要的复杂性意味着增加的维护成本和潜在的错误,否则这些错误不会发生。
您很可能会遇到更多由文件系统不兼容引起的问题,这些问题严格来说并不是项目问题,但在 Windows 下仍然会增加不必要的麻烦。例如,当有人在区分大小写的文件系统(即 Linux)上进行仅大小写的文件名更改,而其他人将这些更改拉到 Windows 计算机上时,git 就会崩溃。
真正的解决方案是在尽可能类似于预期的环境中进行开发。这意味着 - 在实际的 Linux 主机或 Linux VM 中。这将保证开发人员不会在仅存在于其开发平台上的问题上浪费时间(和金钱)。它还将保证他们不会错过 Windows 上未出现的问题。
您的客户并不关心产品是否在 Windows 上的 Linux VM 中运行良好。无论如何,您的开发人员都必须熟悉 Linux,因为您的目标是将 Linux 作为您的唯一平台。您真的想将资源花费在现实场景中不存在的问题上吗?
| 归档时间: |
|
| 查看次数: |
2479 次 |
| 最近记录: |