Окей, у вас есть несколько проблем:
1 - вы никогда не должны использовать "ng-serve" для производства
2 - вам нужно собрать свои приложения и получить dist forlder
3 - Запустите nginx после настройки config
. Сначала необходимо собрать приложение, используя ng build --prod
, и настроить конфигурацию docker для сборки.
Пример Dockerfile для приложения angular :
FROM nginx:1.15.12-alpine
# Removing nginx default page.
RUN rm -rf /usr/share/nginx/html/*
# Copying nginx configuration.
COPY /nginx/nginx.conf /etc/nginx/conf.d/default.conf
# Copying source into web server root.
COPY /dist /usr/share/nginx/html
# Exposing ports.
EXPOSE 80
# Starting server.
CMD ["nginx", "-g", "daemon off;"]
Пример для nginx config:
server {
listen 80;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri $uri/ /index.html =404;
}
}
Вы должны понимать, что приложение Angular Building * дает нам папку с именем "dist", содержащую. html файл и несколько. js файлов. Это тот файл. html, который обслуживается nginx.
ng serve
используется только для разработки.
Надеюсь, это поможет. Удачи!