#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