Ngineseva ye-Apache (ku-docker) ehambisa kuzinhlelo zokusebenza eziningana. Nginohlelo lokusebenza ku-Angular engifuna ukulusebenzisa kuseva yami, kepha lapho ngifinyelela kusizinda, linikeza iphutha elingu-502 lapho kubuyiswa amafayela amile:
www.mydomain.com => 200
www.mydomain.com/assets/css/mycss.css => 502
www.mydomain.com/.../*.js => 502
Le yi-Angular Dockerfile yami:
FROM node:14.5.0-alpine As builder
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN npm install @angular/cli -g
RUN ng build --prod
FROM nginx:1.15.8-alpine
COPY --from=builder /usr/src/app/dist/angular-app/ /usr/share/nginx/html
My (yenziwe lula) Ukucushwa kwe-Apache (mydomain.conf):
<VirtualHost *:443>
ServerName www.mydomain.com
ServerAlias www.mydomain.com
SSLProxyEngine on
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName off
SSLProxyCheckPeerExpire off
RewriteEngine on
RewriteOptions inherit
ProxyPreserveHost On
# angular-app is the name of container, it is in same network that apache
ProxyPass / http://angular-app Keepalive=On
ProxyPassReverse / http://angular-app
</VirtualHost>
Uma ngifinyelela ngqo i-IP: ichweba uhlelo lokusebenza lusebenza kahle.
Noma iziphi iziphakamiso? Ngibonga kusengaphambili
У вас есть две инструкции FROM
FROM node:14.5.0-alpine As builder
FROM nginx:1.15.8-alpine
Операция FROM используется для определения образа, с которого должен начинаться Docker. После того, как вы используете FROM, последующие операторы могут быть только для добавления, запуска или копирования элементов в контейнер. В вашем случае вы инструктируете Docker из образа узла, а затем после нескольких операторов начинаете с образа nginx.
При создании образов Docker убедитесь, что они решают только одну проблему. Если вы планируете запускать угловое приложение с образа узла. Если вы хотите обслуживать угловое приложение, создайте его и скопируйте в образ nginx.`