对于 MEAN 堆栈 docker 容器来说,在 OS X 和 DigitalOcean 上具有相同配置的最简单设置是什

What is the most simple setup for a MEAN stack docker container to have the same config on OS X and DigitalOcean?

本文关键字:配置 设置 最简单 DigitalOcean docker 堆栈 MEAN OS 对于      更新时间:2023-09-26

我正在玩一个MEAN javascript项目。(mongoDB + angular + sails.js + node.js)由于我很多时候都处于离线状态,因此我想使用 boot2docker 在 OS X 笔记本电脑上的 docker 容器中保持我的开发环境运行。

"生产"(不是实际生产,只是我部署到某个地方向朋友展示)是一个数字海洋液滴,运行 Ubuntu 作为主机,希望是相同的 docker 容器。

我希望环境不会经常更改,并且我可以继续使用 git push/pull 来推送代码更改。

除了我上面描述的之外,我还需要其他东西吗?例如,我是否需要 Vagrant 来部署该 docker 容器,或者这是一种矫枉过正?docker 可以指定我的所有需求,即 node.js、sails 等的正确版本吗?是否有一个现成的容器可以重用或修改,而不是从头开始?

回答您的问题:

除了我上面描述的之外,我还需要其他东西吗?

你描述的听起来很合理。但请记住,您不想使用一个 docker 容器,而是每个服务使用一个容器。这意味着:一个容器运行 mongo,一个容器运行节点,依此类推。这是 Docker 的最佳实践。

例如,我是否需要 Vagrant 来部署该 docker 容器,或者这是一种矫枉过正?

听起来您相当简单的设置不需要流浪者。您可以使用 Dockerfile 构建安装了您需要的所有内容的映像。请参阅 Dockerfile 参考 和 Dockerfile 最佳实践。

docker 可以指定我的所有需求,即 node.js、sails 等的正确版本吗?

是的,每个 Docker 映像都有特定版本的服务,该服务将在容器内运行。这是使用容器的要点之一。

是否有一个现成的容器可以重用或修改,而不是从头开始?

是的,在 Docker Hub 上可以找到许多现成的容器。在编写 Dockerfile 时,请使用这些映像作为基础,以在 Docker Hub 上的映像中提供的内容之外安装任何内容。

另外,请查看卷以了解如何在开发中处理源代码。