Docker - многоступенчатый DockerFile для приложения Angular. COPY Failed - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь создать собственное изображение для моего углового приложения, используя следующий многоэтапный DockerFile:

FROM node:8.11.2-alpine as node

WORKDIR /usr/src/app

COPY package*.json ./

RUN npm install

COPY . .

RUN npm run build

FROM nginx:1.13.12-alpine
COPY --from=node . /dist/ /usr/share/nginx/html
COPY ./nginx.conf /etc/nginx/conf.d/default.conf

Однако, когда я пытаюсь построить образ, я получаю следующую ошибку в окне консоли:

Step 8/9 : COPY --from=node . /dist/ /usr/share/nginx/html
COPY failed: stat 
/var/lib/docker/overlay2/be4bf1ad6bf693062d3bbcebf060281
e331c3135e3178068f3f9bf91113da200/merged/dist: no such file or directory

Я все еще относительно новичок в Docker и создаю свой собственный Dockerfile, и все, что я до сих пор пробовал / исследовал, всегда возвращало одно и то же сообщение об ошибке.

Структура моей папки для моего приложения выглядит следующим образом:

--Docker-Compose.yml
--Angular App
  --ClientApp
    --Dockerfile
    --nginx.conf
    --package.json
    --src(folder)
      --index.html

Мой файл nginx-conf, необходимый для фактической сборки, выглядит следующим образом:

   server {
  listen 80;
  location / {
    root /usr/share/nginx/html;
    index index.html index.htm;
    try_files $uri $uri/ /index.html =404;
  }
}

Кто-нибудь еще сталкивался с этой проблемой? Любое положительное направление в решении этого вопроса будет с благодарностью. Все еще ищу ответы, но не уверен, что еще можно попробовать на этом этапе.

1 Ответ

0 голосов
/ 03 сентября 2018

В этой строке у вас есть 3 параметра для копирования: COPY --from=node . /dist/ /usr/share/nginx/html

Итак, у вас есть ., /dist/ и /usr/share/nginx/html. У вас должно быть только два, и, вероятно, именно поэтому он терпит неудачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...