Ошибка Docker не удается скопировать файл после его сборки

#docker

#docker

Вопрос:

Я пытаюсь скопировать свой ./dist после создания моего приложения angular. вот мой Dockerfile

 # Create image based off of the official Node 10 image
FROM node:12-alpine

RUN apk update amp;amp; apk add --no-cache make git

RUN mkdir -p /home/project/frontend

# Change directory so that our commands run inside this new directory
WORKDIR /home/project/frontend

# Copy dependency definitions
COPY package*.json ./

RUN npm cache verify

## installing packages
RUN npm install

COPY ./ ./

RUN npm run build --output-path=./dist

COPY /dist /var/www/front
  

но когда я запускаю docker-compose build dashboard , я получаю эту ошибку

Service 'dashboard' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builderxxx/dist: no such file or directory

Я не знаю, почему что-то не так?

если вам нужно также проверить docker-compose file

 ...
  dashboard:
    container_name: dashboard
    build: ./frontend
    image: dashboard
    container_name: dashboard
    restart: unless-stopped
    networks:
      - app-network
...
  

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

1. выходной путь для сборки — ./dist, но вы копируете из каталога /dist . Это должно быть ./dist или вы можете установить —output-path=/var/www/front/dist

Ответ №1:

Директива Dockerfile COPY копирует содержимое из контекста сборки (каталог хост-системы в build: строке) в образ. Если вы просто пытаетесь перемещать содержимое внутри изображения, вы можете RUN cp RUN mv вместо этого использовать обычные команды оболочки Linux.

 RUN npm run build --output-path=./dist 
 amp;amp; cp -a dist /var/www/front