【问题标题】:How to build docker images with volumes for production如何使用卷构建 Docker 映像以进行生产
【发布时间】:2016-12-07 02:39:59
【问题描述】:

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

我们无法弄清楚应该如何构建这些图像以用于生产。以这个简单的 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

为了创建我们的生产容器,我们真的很想ADD 文件而不是挂载卷。这样我们就可以部署映像并简单地运行它。使用 Docker 处理此问题的正确方法是什么?

【问题讨论】:

标签: docker dockerfile


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-03-03
    • 2020-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    相关资源
    最近更新 更多