两个docker之间的服务相互访问

背景

  • 测试阶段, 两个模型分别封装了两个docker环境, 都是封装成了接口形式, 比如dockerA 和dockerB环境.

Docker环境联通

  • 创建自定义的bridge网络
docker network create testnet(自定义名称)
  • 查询到新创建的bridge testnet
docker network ls
  • 运行容器连接到testnet网络
docker run -it --name <容器名> —network --network-alias <网络别名> <镜像名>

示例

  • dockerA
docker network create testnet
docker run --name ppcls -v $PWD:/mnt -p 18152:18152 -p 19530:19530 --network testnet --network-alias ppcls --shm-size=24g -it ppclas_cpu:latest /bin/bash
  • dockerB
docker run --name yolov8 -v $PWD:/mnt --network testnet --network-alias yolov8 --shm-size=24g -it yolov8:v2 /bin/bash

说明: 这里可以指定端口也可以不指定, 都无所谓, 后面不会再宿主机直接访问

需求

  • dockerA访问dockerB中的服务, 在dockerB中启动相对应的服务
gunicorn -w 1 -b 0.0.0.0:5000 app:app

说明: 这里的5000端口就是即将要访问的端口号

  • 在dockerA中的请求文件中, 只需要确认访问的URL即可
URL="http://yolov8:5000"

说明: 在dockerA中访问dockerB的服务的时候, 只需要在URL中指定为dockerB容器的名字(即yolov8)即可, 端口他会自动查找.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值