需求:需要将后端服务和前端服务使用docker-composr通过nginx暴露出去。
准备:1.安装好docker-compose
2.安装好nginx
3.后端镜像服务镜像,前端dist文件
文件tree目录:
docker-compose.yml
version: '3' services: web: build: . ports: - "5000:80" //5000 对外暴露的端口,80跟nginx 服务端口对接 backend: image: "rsdz:v0.0.1test" |
Dockerfile
FROM harbor.ceclouddyn.com/cks/nginx: 1.14 . 1 COPY ./dist /usr/share/nginx/html/ COPY ./nginx.conf /etc/nginx/nginx.conf |
nginx.conf
ps:nginx 版本和Dockerfile基础镜像版本保持一致
#只展示重要部分内容 #listen 默认端口 80 server { listen 80 default_server; listen [::]: 80 default_server; root /usr/share/nginx/html; # Load configuration files for the default server block. include /etc/nginx/ default .d/*.conf; #root 后 /usr/share/nginx/html 目录文件下放置dist 子目录下的全部内容 location / { root /usr/share/nginx/html; index index.html index.htm; } #后端服务地址 location /bachend/{ proxy_pass http: //127.0.0.1:8080; } error_page 404 / 404 .html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } } |
docker-compose up 执行命令。