码头工人运行和卷说明



下面是我的dockerfile,我在copy命令中复制js文件并设置工作目录,然后是volume和run命令。下面是我的码头工人文件 1(我了解node_modules(由于运行npm安装而创建(由于在同一位置创建卷而首次初始化容器时被擦除 我的问题为什么我在步骤 3 中复制的应用程序.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"]

问:为什么我的应用程序.js(我在步骤 3 中复制的应用程序(没有被擦除,而node_modules是。

答:如 docker 文档在卷部分下的说明。

报价:

从 Dockerfile 中更改卷:

如果任何生成步骤 在声明卷后更改了卷中的数据,则将丢弃这些更改。

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

最新更新