Crashin Angular 项目 docker 容器

问题描述 投票:0回答:1

我有用于 Angular 项目的 docker 容器,使用节点 18; Dockerfile:

FROM node:18

WORKDIR /app

COPY package*.json ./
RUN npm update

RUN npm install

COPY . .

EXPOSE 4200

CMD ["ng", "serve", "--host", "0.0.0.0", "--port", "4200"]

问题是当我运行 sudo

docker-copmose build
时,它很好,但是当我尝试
sudo docker-compose up
时,它有一个错误:

auralab-angular | node:internal/modules/cjs/loader:1080
auralab-angular |   throw err;
auralab-angular |   ^
auralab-angular | 
auralab-angular | Error: Cannot find module '/app/ng'
auralab-angular |     at Module._resolveFilename (node:internal/modules/cjs/loader:1077:15)
auralab-angular |     at Module._load (node:internal/modules/cjs/loader:922:27)
auralab-angular |     at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:86:12)
auralab-angular |     at node:internal/main/run_main_module:23:47 {
auralab-angular |   code: 'MODULE_NOT_FOUND',
auralab-angular |   requireStack: []
auralab-angular | }
auralab-angular | 
auralab-angular | Node.js v18.18.2

我正在使用google-cloud unbutu机器,但我不知道错误原因。 docker-compose.yaml:

angular:
    image: auralab-angular:latest
    container_name: auralab-angular
    build:
      context: ./client
      dockerfile: Dockerfile
    volumes:
      - ./client:/app
    ports:
      - "4200:4200"
    command: ["ng", "serve", "--host", "0.0.0.0", "--port", "4200"]
    depends_on:
      - django

结构是:

project:
|___client:
|_______Dockerfile
|_______other files;
|___docker-compose.yaml
angular docker node-modules
1个回答
0
投票

您需要在 Docker 容器内安装 Angular CLI。

FROM node:18

WORKDIR /app

COPY package*.json ./

# Install Angular CLI globally
RUN npm install -g @angular/cli

RUN npm install

COPY . .

EXPOSE 4200

CMD ["ng", "serve", "--host", "0.0.0.0", "--port", "4200"]
© www.soinside.com 2019 - 2024. All rights reserved.