如何在 docker 容器内路由 angular?
How to route angular inside docker container?
我想在 docker 容器内部署我的 angular 应用程序,但我无法在容器内路由我的应用程序。我尝试遵循 official angular doc 准则。你可以看看我在这里做了什么:
Dockerfile:
FROM node:latest as build
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build --prod
# Stage 1: serve app with nginx server
FROM nginx:latest
COPY --from=build /app/dist/pointeuse /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
Nginx 配置文件
server {
listen [::]:80;
sendfile on;
default_type application/octet-stream;
gzip on;
gzip_http_version 1.1;
gzip_disable "MSIE [1-6]\.";
gzip_min_length 256;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_comp_level 9;
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ /index.html =404;
}
}
Pointeuse 文件夹(我的应用程序)
3rdpartylicenses.txt polyfills-es2015.690002c25ea8557bb4b0.js
assets polyfills-es5.9e286f6d9247438cbb02.js
favicon.ico runtime-es2015.1eba213af0b233498d9d.js
index.html runtime-es5.1eba213af0b233498d9d.js
main-es2015.df94aaa439cec2ec9350.js styles.4333e01ba2bdd733ca4e.css
main-es5.df94aaa439cec2ec9350.js
我需要添加
listen 80
在nginx配置文件中。
因为 docker.
默认情况下不启用 IPv6
我想在 docker 容器内部署我的 angular 应用程序,但我无法在容器内路由我的应用程序。我尝试遵循 official angular doc 准则。你可以看看我在这里做了什么:
Dockerfile:
FROM node:latest as build
WORKDIR /app
COPY . .
RUN npm install
RUN npm run build --prod
# Stage 1: serve app with nginx server
FROM nginx:latest
COPY --from=build /app/dist/pointeuse /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
Nginx 配置文件
server {
listen [::]:80;
sendfile on;
default_type application/octet-stream;
gzip on;
gzip_http_version 1.1;
gzip_disable "MSIE [1-6]\.";
gzip_min_length 256;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_comp_level 9;
root /usr/share/nginx/html;
location / {
try_files $uri $uri/ /index.html =404;
}
}
Pointeuse 文件夹(我的应用程序)
3rdpartylicenses.txt polyfills-es2015.690002c25ea8557bb4b0.js
assets polyfills-es5.9e286f6d9247438cbb02.js
favicon.ico runtime-es2015.1eba213af0b233498d9d.js
index.html runtime-es5.1eba213af0b233498d9d.js
main-es2015.df94aaa439cec2ec9350.js styles.4333e01ba2bdd733ca4e.css
main-es5.df94aaa439cec2ec9350.js
我需要添加
listen 80
在nginx配置文件中。 因为 docker.
默认情况下不启用 IPv6