我的問題類似于this問題,但只有一個域.
是否可以在同一臺服務器上運行多個docker容器,所有這些容器都在埠80上,但具有不同的URL路徑?
例如:
在內部,所有應用程式都托管在同一個docker服務器上.
172.17.0.1:8080 => app1
172.17.0.2:8080 => app2
172.17.0.3:8080 => app3
在外部,用戶將使用以下URL訪問應用程式:
www.mydomain.com (app1)
www.mydomain.com/app/app2 (app2)
www.mydomain.com/app/app3 (app3)
uj5u.com熱心網友回復:
我用nginx反向代理解決了這個問題.這是nginx容器的Dockerfile:
FROM nginx
COPY nginx.conf /etc/nginx/nginx.conf
這是nginx.conf:
http {
server {
listen 80;
location / {
proxy_pass http://app1:5001/;
}
location /api/ {
proxy_pass http://app2:5000/api/;
}
}
}
然后我在同一個docker網路中站起來了nginx,app1和app2容器.
確保在位置和代理路徑中包含尾隨/,否則nginx將回傳’502:Bad Gateway’.
所有請求都通過埠80上的docker主機,然后將它們移交給nginx容器,然后nginx容器根據url路徑將它們轉發到app容器.
uj5u.com熱心網友回復:
樓主解決了嗎,我也遇到這個問題了轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/11657.html
標籤:其他技術討論專區
