【发布时间】:2022-10-15 02:34:58
【问题描述】:
我遵循这个reference 来减少我的 docker 图像。这是我的 Dockerfile:
FROM node:10 as builder
RUN curl -sfL https://install.goreleaser.com/github.com/tj/node-prune.sh | bash -s -- -b /usr/local/bin
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . .
RUN npm run build
RUN npm prune --production
RUN /usr/local/bin/node-prune
FROM node:10-alpine
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app/dist /app/
EXPOSE 3000
CMD npm run start:dev
然而,当运行 docker build 我得到了错误。感谢您的关注。
【问题讨论】:
-
请不要张贴文字图片。只需在您的问题中包含文本,格式为代码示例。
-
看起来
node-prune没有安装在/usr/local/bin中。你检查过那个目录吗?例如,您可以在 Dockerfile 中粘贴RUN ls ...。 -
既然您只是在运行开发服务器,那么尝试修剪依赖项有什么意义呢?
-
@Phil,我只是想减少image docker的容量,它很重
-
我无法重现这一点。运行干净的
node:10图像,我可以运行npm init -y && npm prune --production没有任何问题。我当然不必手动安装node-prune。您是否尝试过删除该步骤?
标签: node.js docker dockerfile