docker 容器互相 访问
假如创建了 两 个容器 , 一个是 前端(react + nginx ) 映射主机端口为 4040:80 一个是 后端 (uvicorn+ fastapi ) 映射端口为 18000:80
这个时候 他们部署到一台机器 上 ,如果 想要 前端 nginx 访问 后端的话 ,直接 http post 主机host:18000/api/login 是不行的
根本 就 连接 不上 ……
需要 搞一个 桥接 bridge 网络
docker network create 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 是容器 本身的端口号不是映射后的!)
这样就 能访问通啦!