首页 > 解决方案 > Docker 运行和体积说明

问题描述

下面是我的 dockerfile,我在 copy 命令中复制 js 文件,然后设置工作目录,然后是卷和运行命令。下面是我的 dockerfile 1)我了解 node_modules(由于运行 npm install 而创建)正在由于在同一位置创建卷而首次初始化容器时擦除我的问题为什么我在步骤 3 中复制的 app.js 没有被擦除,因为它也与卷在同一路径上?

FROM node:latest

ENV NODE_ENV=production
ENV PORT=3000

COPY . /app
WORKDIR /app
VOLUME ["/app"]


RUN npm install

EXPOSE $PORT

ENTRYPOINT ["node","app.js"]

标签: docker

解决方案


问:为什么我的 app.js(我在步骤 3 中复制的)没有被擦除,而node_modulesis。

答:正如 docker 文档中卷部分的解释。

引用:

从 Dockerfile 中更改卷:

如果任何构建步骤 在声明后更改了卷内的数据,则这些 更改将被丢弃。

参考: https ://docs.docker.com/engine/reference/builder/#notes-about-specifying-volumes


推荐阅读