我想知道如何解決這個問題!本質上,通過默認 Docker 網路上的服務名稱進行的動態路由不起作用。:(
我曾考慮讓它使用靜態 IP,但這可能比修復原始問題更有效。
碼頭工人-compose.yml
version: "3.8"
services:
client:
build: client
ports: [3000]
depends_on:
- server
volumes:
- ./client:/app
mongodb:
image : mongo
environment:
- PUID=1000
- PGID=1000
ports: [27017]
restart: unless-stopped
volumes:
- ./mongodb/database:/data/db
server:
build: server
ports: [5000]
restart: always
depends_on:
- mongodb
volumes:
- ./server:/app
如果我從客戶端執行此 ping 測驗,它將通過瀏覽器作業
http://0.0.0.0:49246/ping
但是,我真的希望它在這里以這種方法作業
http://server:5000/ping
幫助?謝謝!
uj5u.com熱心網友回復:
Web 應用程式代碼在瀏覽器中運行,而不是在托管檔案的服務器中運行。瀏覽器通常在主機上運行。
聽起來您希望服務器映射主機上的已知埠。嘗試使用它將主機埠 5000 映射到server容器埠 5000...
server:
build: server
ports:
- "5000:5000"
# etc
并http://localhost:5000在您的網路應用程式代碼中連接。
請參閱https://docs.docker.com/compose/compose-file/compose-file-v3/#ports
如果您希望您的 Web 應用程式代理請求(例如使用Create React Appproxy配置),您將使用內部主機名,因為此操作由client服務執行。
"proxy": "http://server:5000"
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/450925.html
