Falha ao conectar-se à porta localhost 5000: Conexão recusada com o Docker

Eu construí meu pequeno aplicativo Python (flask).Recipiente é 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

Se eu tentar

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

Eu tenho checkedsudo netstat-an / grep-E "5000" unix 3 [] fluxo conectado 25000

Não está listando em 5000.linha yaml com portas

  ports:   - "5000:5000"

Se eu executar meu contêiner

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

Meu Dockerfile

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

Por que isso acontece?

Um problema alternativo pode ser com o modo. Na seção de publicação, tive que definir o mode explicitamente para hospedar e tudo funcionou:

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

A partir da saída docker ps parece que sua porta não foi exposta.

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

Execute seu contêiner mapeando a porta e se você ainda enfrentar o mesmo problema ssh para o contêiner e use o seguinte comando.

netstat -lntp | grep :5000

Parece que o netstat não está instalado no contêiner. Você pode executar um yum install netstat para instalar e verificar.

Presente guia irá ajudá-lo a verificar. Verificar docker ps saída no final.

você pode ssh para Docker container e netstat para verificar se a porta está ouvindo. A porta docker 5000 foi exposta ?

@ Dextro67 dê uma olhada na minha edição, por favor.