Docker容器HTTP请求调用问题:第二个容器端口无响应如何配置?
问题分析与解决方法
核心问题
你创建第二个容器时用了docker run -p 8090:8090 model-export,但Peltarion导出的镜像内部服务默认监听的是8000端口,并非8090。Docker端口映射格式是主机端口:容器内部端口,你把容器内部端口指定为8090后,容器里没有服务在该端口监听,自然无法响应请求。
快速修复命令
重新创建第二个容器,使用正确的端口映射规则:
docker run -p 8090:8000 model-export
这条命令会将主机的8090端口转发到容器内部的8000端口(服务实际监听的端口),此时访问xxx.xx.xx.xx:8090即可正常响应。
进阶排查步骤
如果修复后仍有问题,可按以下步骤排查:
- 确认容器状态:执行
docker ps,检查第二个容器的状态是否为Up - 验证容器内部端口:进入容器执行
netstat -tulpn(若容器内无netstat,先执行apt update && apt install net-tools安装),确认服务在8000端口监听 - 开放主机端口:Ubuntu 20.04默认启用ufw防火墙,执行
ufw allow 8090确保主机8090端口对外开放 - 查看容器日志:执行
docker logs <容器ID/容器名称>,排查是否存在服务启动失败的报错信息
内容的提问来源于stack exchange,提问作者leogamer2222
相关产品推荐
相关产品推荐

