модули узлов не копируются на тома

#angular #docker #docker-compose #nestjs

Вопрос:

Я делаю веб-проект с использованием docker. После установки новых пакетов узлов я запускаю команду сборки docker-compose, а затем команду сборки docker-compose. Затем он говорит, что такого пакета(недавно установленного) нет. Но когда я обрезаю изображения docker и только что начал использовать docker-compose, все работает идеально.

В чем может быть потенциальная проблема?

Я нахожусь на компьютере с ubuntu и использую docker с правами суперпользователя.

     version: "3.8"

services:
  api:
    build:
      dockerfile: DockerFile
      context: ./api
      target: development
    volumes:
      - ./api:/nadeera/src/app
      - /nadeera/src/app/node_modules/

    command: npm run start:dev
    depends_on:
      - postgres
    environment:
      DATABASE_URL: postgres://user:password@postgres:5432/db
      NODE_ENV: development
      JWT_SECRET: hard_to_guess_secret_123
      PORT: 3000
    ports:
      - 3000:3000
      - 9229:9229

  frontend:
    build:
      dockerfile: DockerFile
      context: ./frontend
      target: development
    command: npm run start
    volumes:
      - ./frontend:/nadeera/frontend/src/app
      - /nadeera/frontend/src/app/node_modules
    ports:
      - 4200:4200
    links:
      - api

  postgres:
    image: postgres:10.4
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: password
      POSTGRES_DB: db
    ports:
      - 35000:5432

  postgres_admin:
    image: dpage/pgadmin4:4.28
    depends_on:
      - postgres
    environment:
      PGADMIN_DEFAULT_EMAIL: admin@admin.com
      PGADMIN_DEFAULT_PASSWORD: password
    ports:
      - 5050:80
 

файл докера интерфейса

 FROM node:14 AS development

WORKDIR /nadeera/frontend/src/app

COPY package*.json ./

RUN npm install
RUN npm install -g @angular/cli@12.0.0

COPY . .

RUN npm run build

EXPOSE 4200
 

файл настройки api

 FROM node:14 AS development

WORKDIR /nadeera/src/app

COPY package*.json ./

RUN npm install

# COPY . .

RUN npm run build

EXPOSE 3000


###################
###  Production ###
###################

FROM node:14 AS production

ARG NODE_ENV=production
ENV NODE_ENV=${NODE_ENV}

WORKDIR /nadeera/src/app

COPY --from=development /nadeera/src/app/ .

EXPOSE 3000

CMD ["node","dist/main"]
 

Комментарии:

1. Перед сборкой и установкой вы удаляете старые контейнеры?

2. Я удалил старые, потому что после сборки и обновления модули узлов не копировались в том docker

3. volumes: Блок указывает докеру использовать содержимое анонимного тома вместо node_modules каталога изображения. Содержимое тома никогда не обновляется, если только ваше приложение не изменит его.