在OS X和DigitalOcean上使用相同configuration的MEAN栈docker容器最简单的设置是什么?

我正在玩一个MEAN JavaScript项目。 (mongoDB + angular + sails.js + node.js)由于我很多时候离线,我想使用boot2docker让我的开发环境在OS X笔记本电脑上的Docker容器中运行。

“生产”(不是实际的生产,只是我部署给朋友展示的地方)是一个运行Ubuntu的数字海洋液滴作为主机,希望是相同的docker集装箱。

我期望环境不会经常变化,我可以继续使用git push / pull来推动代码更改。

除了我上面描述的以外,我还需要什么吗? 我是否需要stream浪者,例如部署那个docker集装箱,或者这是一个矫枉过正的? docker能指定我所有的需求,那就是node.js,sails等的正确版本吗? 有没有现成的容器,我可以重用或修改,而不是从头开始?

回答你的问题:

除了我上面描述的以外,我还需要什么吗?

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

我是否需要stream浪者,例如部署那个docker集装箱,或者这是一个矫枉过正的?

这听起来像你相当简单的设置不需要stream浪汉。 您可以使用Dockerfiles来构build具有您需要安装的所有内容的映像。 请参阅Dockerfile参考和Dockerfile最佳实践 。

docker能指定我所有的需求,那就是node.js,sails等的正确版本吗?

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

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

是的, Docker Hub上有很多现成的容器。 在编写Docker文件时,将这些图像用作基础,以便在Docker Hub上为映像中提供的内容另外安装任何东西。

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