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

2

Eu construí meu aplicativo pequeno em Python (frasco). O container está aqui docker ps

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

Se eu tentar

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

Eu verifiquei sudo netstat -an | grep -E "5000" unix 3 [] STREAM CONNECTED 25000

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

  ports:
   - "5000:5000"

Se eu exec meu contentor

docker exec -it agitated_leakey /bin/bash
uwsgi@4146fd976547:/app$ netstat -ln
bash: netstat: command not found

Meu Dockerfile

RUN pip install Flask==0.10.1 uWSGI==2.0.8
WORKDIR /app
COPY app /app
COPY cmd.sh /

EXPOSE 9090 9191

Por que isso acontece?

    
por MikiBelavista 29.03.2018 / 10:19

2 respostas

1

Um problema alternativo pode estar no modo. Na seção de publicação eu tive que definir o mode explicitamente como host e tudo funcionou:

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

    
por 02.10.2018 / 13:27
2

Da saída do docker ps parece que sua porta não foi exposta.

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

Execute o seu contêiner mapeando a porta e se você ainda enfrentar o mesmo problema ssh no 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.

Este guia ajudará você a confirmar. Verifique docker ps output no final.

    
por 29.03.2018 / 10:49

Tags