javascript – MEAN堆栈docker容器在OS X和DigitalOcean上具有相同配置的最简单设置是什么?

我正在玩一个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容器或者那是一种矫枉过正?

听起来你的相当简单的设置不需要Vagrant.您可以使用Dockerfiles来构建包含您需要安装的所有内容的图像.见Dockerfile ReferenceDockerfile best Practices.

docker能指定我的所有需求,sails等的正确版本吗?

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

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

是的,在Docker Hub上可以找到许多现成的容器.在编写Dockerfiles时,请使用这些图像作为基础,以便在Docker Hub上的映像中安装任何其他内容.

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

相关文章

最近一直在开发Apworks框架的案例代码,同时也在一起修复Apw...
最近每天都在空闲时间努力编写Apworks框架的案例代码WeText。...
在《Kubernetes中分布式存储Rook-Ceph部署快速演练》文章中,...
最近在项目中有涉及到Kubernetes的分布式存储部分的内容,也...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...
CentOS下Docker与.netcore(一) 之 安装 CentOS下Docker与.ne...