gpt4 book ai didi

docker - 无法在节点 docker 镜像中安装 npm

转载 作者:行者123 更新时间:2023-12-02 19:55:42 26 4
gpt4 key购买 nike

FROM node:latest

WORKDIR /frontend/

ENV PATH /frontend/node_modules/.bin:$PATH

COPY package.json /frontend/package.json
COPY . /frontend/
RUN npm install --silent
RUN npm install react-scripts@3.0.1 -g --silent

CMD ["npm", "run", "start"]

这是我的 Dockerfile对于我的项目的前端。

我把它作为我的 docker-compose.yml 中的一项服务文件,当我运行 docker-compose up -d --build ,它给了我
Step 6/8 : RUN npm install --silent
---> Running in 09a4f59a96fa
ERROR: Service 'frontend' failed to build: The command '/bin/sh -c npm install --silent' returned a non-zero code: 1

我的 docker-compose 文件如下所示,供您引用:
# Docker Compose
version: '3.7'

services:
frontend:
container_name: frontend
build:
context: frontend
dockerfile: Dockerfile
ports:
- "3000:3000"
volumes:
- '.:/frontend'
- '/frontend/node_modules'
backend:
build: ./backend
ports:
- "5000:5000"
volumes:
- .:/code

提前致谢

编辑:构建后前端出错

enter image description here

最佳答案

对于 docker-compose,我认为应该是这样的

- ./frontend/:/frontend'

因为构建上下文是前端。

其次,如果您使用卷,那么为什么要在 Dockerfile 中安装和复制代码?如果您使用的是绑定(bind)卷,请从 Dockerfile 中删除它们,因为它们将被主机代码覆盖。
COPY package.json /frontend/package.json
COPY . /frontend/

关于docker - 无法在节点 docker 镜像中安装 npm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58195744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com