下面是我的dockerfile,我在copy命令中复制js文件,之后设置工作目录,然后是volume和run命令.Below是我的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"]
答案 0 :(得分:1)
问:为什么我的app.js(我在步骤3中复制了)在node_modules
期间没有被删除。
答:正如数据库部分下的docker文档中所述。
<强>引用:强>
从Dockerfile中更改音量:
如果有任何构建步骤 在声明之后更改卷内的数据,那些 更改将被丢弃。
参考: https://docs.docker.com/engine/reference/builder/#notes-about-specifying-volumes