无法从Django容器访问lowerquality/gentle容器的技术求助
解决Django容器访问gentle容器的问题
问题根源
你的docker-compose.yml中gentle服务的expose配置有误,且容器间通信需使用容器内部端口而非主机映射端口。
修正步骤
- 调整gentle服务的expose配置
lowerquality/gentle容器内部默认运行在8765端口,expose字段需要指向这个内部端口,而非主机侧映射的49153。修改后的gentle服务配置如下:
gentle: restart: always image: lowerquality/gentle ports: - '49153:8765' expose: - 8765 # 改为容器内部的8765端口
- 使用正确的容器间访问地址
在Django容器内,通过docker-compose的服务名gentle加上容器内部端口8765访问,即访问地址为gentle:8765,而非localhost:49153或gentle:49153。
连通性验证
进入Django容器内部,用curl测试连通性:
# 替换web为你的Django服务名(如web或djangoq) docker exec -it web curl gentle:8765
若返回gentle的API响应,则说明配置生效。
内容的提问来源于stack exchange,提问作者Muhammad Kamal
相关产品推荐
相关产品推荐

