Как развернуть приложение Angular под контейнером nginx? - PullRequest
0 голосов
/ 20 февраля 2020

Я пытаюсь развернуть приложение Angular в docker Nginx. Моя конфигурация следующая:

. / Dockerfile

FROM node:12-alpine AS builder
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY ["package.json", "yarn.lock", "./"]
RUN yarn install --production=false
COPY . .
RUN yarn build

FROM nginx:alpine
COPY --from=builder /usr/src/app/dist/angular-nginx/* /usr/share/nginx/html/
COPY ./nginx.conf /etc/nginx/conf.d/default.conf

. / nginx .conf

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

Приложение работает, но его активы, такие как изображения, не ' t load (На объектах разработки работает).

enter image description here enter image description here

И если я попытаюсь получить доступ непосредственно к http://localhost: 4000 / assets / img / lo go .png всегда go до http://localhost: 4000 /

В чем моя ошибка? Спасибо очень за помощь.

enter image description here

1 Ответ

1 голос
/ 20 февраля 2020

проблема, вероятно, в этой команде

COPY --from=builder /usr/src/app/dist/angular-nginx/* /usr/share/nginx/html/

должно быть

COPY --from=builder /usr/src/app/dist/angular-nginx/ /usr/share/nginx/html/

, в вашем варианте вы копируете только первый слой каталога и просто COPY dir/ должен сделать вещь

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