简体   繁体   中英

Docker: cannot route docker container port to host

So I have a docker container up running, I tried to route its service port out to the host:

Here is my docker-compose file:

version: '3'
services:
  ai-recommender-server:
    build: .
    ports:
      - "3518:3518"

When the container is running, I can check it through "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

When I tried to access from inside the container:

$ docker exec -it ff94 sh
/service # curl http://localhost:3518
{
  "message": "AI recommendation system"
}

But when I tried to do this on the host, I got the error "curl: (56) Recv failure: Connection reset by peer"

$ curl http://localhost:3518
curl: (56) Recv failure: Connection reset by peer

Can anyone find out what my problem is?

Since it's python, I think binding to 0.0.0.0 may be missing in your python code

Something like this inside your python server.py

app.run(debug='False',host='0.0.0.0',port=3518)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM