docker 容器互相 訪問
阿新 • • 發佈:2021-12-09
假如建立了 兩 個容器 , 一個是 前端(react + nginx ) 對映主機埠為 4040:80 一個是 後端 (uvicorn+ fastapi ) 對映埠為 18000:80
這個時候 他們部署到一臺機器 上 ,如果 想要 前端 nginx 訪問 後端的話 ,直接 http post 主機host:18000/api/login 是不行的
根本 就 連線 不上 ……
需要 搞一個 橋接 bridge 網路
docker networkcreate testnet
然後 前端 docker run 的時候 加上docker run -it --name <容器名> ---network <bridge> --network-alias <網路別名><映象名>
後端 docker run 的時候 也加上docker run -it --name <容器名> ---network <bridge> --network-alias <網路別名><映象名>
nginx 配置 的時候 要 用 網路別名+ 容器本身的埠 號 如 http://server:80 (server 是 後端的別名 80 是容器 本身的埠號不是對映後的!)
這樣就 能訪問通啦!