所以我有一个正在运行的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)

08-28 08:37