我认为,如果您是一位 DevOps 人员,无论以何种身份,Docker 的实用性都非常明显。您的东西运行在到处都是相同的容器中。假设 Docker 正在运行,代码将在可靠一致的方式下执行,无论 Docker 运行在开发人员的电脑上还是云端电脑上。由此带来的 (巨大) 吸引力在于,错误将始终如一地发生。“生产环境专用”错误将成为过去。此外还有其他好处,例如向团队中的开发人员交付一个完全一致的开发环境,即使跨平台也是如此,而不是与单个开发人员的电脑作斗争。
那么…很棒吗?用它做所有事?阻止这一点的原因是它很复杂,而且 Web 开发本来就很复杂,而且它经常让人感觉太复杂了。然而,Andrew Welch 认为,您不必深入学习 Docker 才能使用它。
Docker 是一种 devops 工具,有些人觉得它很吓人,因为要学习很多东西才能用它来构建东西。虽然这是真的,但通过利用其他人创建的内容,实际上用 Docker 做一些非常实用且有用的事情非常简单。
说得有道理。我并不深入了解我使用的大多数技术,但我仍然可以使用它。
虽然我整天都在运行 Docker 来为 CodePen 的精美开发环境提供动力,但这就是我的使用范围。我没有像 Andrew 那样将它用于所有事。但我能理解,在项目之间拥有所有这些隔离可能会让人感觉很轻松。Andrew 提到的我最喜欢的观点之一是
切换到新电脑很容易。您不必花几个小时仔细地重新配置您全新的 MacBook Pro,使其具有您需要的所有互连工具和软件包。
我发现自己经常因为各种奇怪的原因在电脑之间切换,能够在不费吹灰之力的情况下进行切换非常有吸引力。
可以尝试使用 ddev,因为它会为像 WordPress、Drupal 或 Typo3 这样的 PHP 项目抽象出 docker 配置。即使是一般的 PHP 项目,我现在也通过 docker 中的 ddev 运行它们。而且我从历史上来说不是 docker 的支持者 ;-)
在 Facebook 上查看“dockerholics”群组,获取在家庭环境中使用 docker 的支持。
以下是一些示例脚本,以及可以在家中使用 docker 轻松运行的大量应用程序列表。
https://petersem.github.io/dockerholics/