Docker使用Nginx一個端口啟動多個前端項目
1.pull image
docker pull nginx

2.創(chuàng)建docker-compose
services:
nginx:
image: nginx:latest
container_name: nginx
ports:
- "1234:80"
- "1235:443"
volumes:
- ./conf:/etc/nginx/conf.d
- ./html:/usr/share/nginx/html
- ./logs:/var/log/nginx
restart: unless-stopped3.目錄掛載準(zhǔn)備

目錄結(jié)構(gòu)如下:
conf/ ├── default.conf #nginx配置文件 html/ ├── app1/ # 應(yīng)用1 │ ├── index.html │ └── ... ├── app2/ # 應(yīng)用2 │ ├── index.html │ └── ... ├── app3/ # 應(yīng)用3 │ ├── index.html │ └── ... └── index.html # 默認(rèn)首頁 log/ # 日志目錄 docker-compose.yml # docker-compose 配置信息
4.創(chuàng)建 default.conf 監(jiān)聽80端口同時啟動多個前端
server {
listen 80;
server_name localhost;
client_max_body_size 1000M;
add_header X-Frame-Options SAMEORIGIN;
# 全局 CORS 配置
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';
# 處理 OPTIONS 預(yù)檢請求
if ($request_method = 'OPTIONS') {
add_header Access-Control-Max-Age 1728000;
add_header Content-Type 'text/plain; charset=utf-8';
add_header Content-Length 0;
return 204;
}
#-------------------------------------------------------------------------??
# app1前端配置
location /app1/ {
alias /usr/share/nginx/html/app1/;
index index.html index.htm;
try_files $uri $uri/ /app1/index.html;
}
# app1 后端服務(wù)配置
location /app1/api/ {
proxy_pass http://www.sol_china.cn/app1/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#-------------------------------------------------------------------------??
# app2前端配置
location /app2/ {
alias /usr/share/nginx/html/app2/;
index index.html index.htm;
try_files $uri $uri/ /app2/index.html;
}
# app1 后端服務(wù)配置
location /app2/app-api/ {
proxy_pass http://192.168.0.100:4567/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#-------------------------------------------------------------------------??
# others server config....
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
}
5.構(gòu)建服務(wù)
在對應(yīng)的目錄(見3小節(jié)),執(zhí)行構(gòu)建命令:
docker-compose -p dockernginx up -d
6.Vue項目注意點(如果你徘徊在404的漩渦中請檢查以下內(nèi)容是否和配置路徑匹配)
1.路由部分 base 屬性

2.vue.config.js publicPath
3.env.production 中 API_BASE_URL
說明:其中1、2對應(yīng) 對應(yīng) location /${appName}/ (前端) 3 對應(yīng)服務(wù)訪問 location /${API_BASE_URL }/ (后端)
到此這篇關(guān)于Docker使用Nginx一個端口啟動多個前端項目的文章就介紹到這了,更多相關(guān)Docker Nginx端口啟動內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
CentOS 7.2 下安裝 Docker 1.12.3 版的詳細(xì)方法
這篇文章主要介紹了CentOS 7.2 安裝 Docker 1.12.3 版的相關(guān)資料,本文分步驟給大家介紹了CentOS 7.2 下安裝 Docker 1.12.3 版的詳細(xì)方法,需要的朋友可以參考下2016-11-11
使用docker compose搭建一個elk系統(tǒng)的方法
這篇文章主要介紹了使用docker-compose搭建一個elk系統(tǒng)的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
Docker數(shù)據(jù)卷掛載命令volume(-v)與mount的使用總結(jié)
本文主要介紹了Docker數(shù)據(jù)卷掛載命令volume(-v)與mount的使用總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-08-08
解決docker啟動失敗Failed?to?start?containerd?container?runtim
這篇文章主要介紹了解決docker啟動失敗Failed?to?start?containerd?container?runtime問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
docker search 報錯但 pull 正常的問題解析
用戶在Windows 11 WSL2 Ubuntu 20.04中使用docker search報錯,但docker pull正常,建議通過docker pull直接獲取鏡像,如搜索mysql時指向特定地址,本文給大家介紹docker search 報錯但 pull 正常的問題解析,感興趣的朋友一起看看吧2025-07-07
docker?搭建?vulhub?靶場環(huán)境的詳細(xì)過程
Vulhub是一個基于docker和docker-compose的漏洞環(huán)境集合,進入對應(yīng)目錄并執(zhí)行一條語句即可啟動一個全新的漏洞環(huán)境,讓漏洞復(fù)現(xiàn)變得更加簡單,讓安全研究者更加專注于漏洞原理本身,這篇文章給大家介紹docker?搭建?vulhub?靶場環(huán)境的過程,感興趣的朋友一起看看吧2022-08-08
解決vscode docker插件docker.socket權(quán)限問題
本文給大家分享關(guān)于vscode docker插件docker.socket權(quán)限問題,文末給大家提到vscode中docker插件無法連接的問題及解決方案,需要的朋友參考下吧2021-06-06

