Verbindung zum Localhost-Port 5000 fehlgeschlagen: Verbindung mit Docker abgelehnt

Ich habe meine kleine Python (Flask) App erstellt.Container ist heredocker ps

CONTAINER ID        IMAGE                          COMMAND             CREATED             STATUS              PORTS                NAMES4146fd976547        identidock_identidock:latest   "/cmd.sh"           5 minutes ago       Up 5 minutes        9090/tcp, 9191/tcp   agitated_leakey

Wenn ich es versuche

curl localhost:5000curl: (7) Failed to connect to localhost port 5000: Connection refused

Ich habe nachgeprüftsudo netstat -an / grep -E "5000" unix 3 [ ] STREAM VERBUNDEN 25000

Es ist nicht listeting auf 5000.yaml-Linie mit Ports

  ports:   - "5000:5000"

Wenn ich meinen Container öffne

docker exec -it agitated_leakey /bin/bashuwsgi@4146fd976547:/app$ netstat -lnbash: netstat: command not found

Meine Docker-Datei

RUN pip install Flask==0.10.1 uWSGI==2.0.8WORKDIR /appCOPY app /appCOPY cmd.sh /EXPOSE 9090 9191

Warum passiert das?

Ein alternatives Problem kann mit dem Modus sein. Im Veröffentlichungsbereich musste ich die festlegen mode danke an Host und alles hat funktioniert:

docker service create --name registry --publish published=5000,target=5000,mode=host registry:2

Aus der Docker ps-Ausgabe geht hervor, dass Ihr Port nicht verfügbar gemacht wurde.

$ docker run -d -p 5000:5000 flask-sample-one

Führen Sie Ihren Container aus, der den Port zuordnet, und wenn Sie immer noch auf dasselbe Problem stoßen, ssh zum Container und verwenden Sie den folgenden Befehl.

netstat -lntp | grep :5000

Scheint, dass netstat nicht im Container installiert ist. Sie können eine ausführen yum install netstat zu installieren und zu überprüfen.

Dieser der Leitfaden hilft Ihnen bei der Überprüfung. Check docker ps ausgabe am Ende.

können Sie ssh zu Docker Container und netstat , um zu überprüfen, ob der Port lauscht. Wurde Docker Port 5000 ausgesetzt?

@Dextro67 Schau dir bitte meine Bearbeitung an.