如何构build用于生产的卷的docker图像

感谢Docker for Mac,现在可以在Docker容器中运行本地开发服务器。 我们只需将本地存储库作为卷装入容器即可。 如果我们在本地进行更改,它会自动更新容器(感谢您的体积),我们不必重新启动服务器。

我们无法弄清楚这些图像应该如何为生产而build造。 以这个简单的Node服务为例:

FROM node:6 # Install the dependencies outside of the application's volume directory ADD package.json .npmrc /node/ RUN npm install --prefix /node # Set up the correct paths for the new node modules installation ENV NODE_PATH /node/node_modules:$NODE_PATH ENV PATH $PATH:/node/node_modules/.bin # Create an endpoint to mount the service's repository VOLUME /runtime WORKDIR /runtime # Expose the application's port EXPOSE 10010 # Start the server CMD scripts/start 

为了创build我们的生产容器,我们真的想要ADD文件而不是装入卷。 这样我们可以部署图像,并简单地运行它。 Docker处理这个问题的正确方法是什么?

在PROD中有一个NFS并创build一个挂载点。 通过-v选项启动容器时使用该安装点。 这样它可以跨多个容器共享并处理负载平衡的东西。 当他们是一个陈旧的挂载创build,那个时候只有你需要重新启动容器/创build新的容器。