所以我有一个正在运行的Docker容器,我试图将其服务端口路由到主机:
这是我的docker-compose文件:
version: '3'
services:
ai-recommender-server:
build: .
ports:
- "3518:3518"
当容器运行时,我可以通过“docker ps -a”检查它CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ff940601a02f recommender_ai-recommender-server "python server.py" About an hour ago Up About an hour 0.0.0.0:3518->3518/tcp recommender_ai-recommender-server_1
当我尝试从容器内部访问时:$ docker exec -it ff94 sh
/service # curl http://localhost:3518
{
"message": "AI recommendation system"
}
但是,当我尝试在主机上执行此操作时,出现错误“ curl :(56)接收失败:对等连接重置”$ curl http://localhost:3518
curl: (56) Recv failure: Connection reset by peer
谁能找出我的问题所在? 最佳答案
由于是python,我认为您的python代码中可能缺少与0.0.0.0
的绑定(bind)
在python server.py中这样的东西app.run(debug='False',host='0.0.0.0',port=3518)