curl (56) Falha de recebimento: Conexão redefinida por ponto - ao atingir o contêiner docker

6

De uma instância do AWS ec2 (que executa docker ), estou tentando curl meu serviço da Web hospedado por contêiner do docker.

Dado:

[ec2-user]$ docker ps
CONTAINER ID        IMAGE                                                                COMMAND                  CREATED             STATUS              PORTS                                        NAMES
b56fa0d76d5c        $REGISTRY/$WORK/metrics:v0.1.0   "/bin/sh -c 'sh /root"   3 minutes ago       Up 3 minutes        0.0.0.0:80->80/tcp, 0.0.0.0:9000->9000/tcp   insane_leakey

Eu posso acessar o serviço da web de dentro do contêiner:

[ec2-user]$ docker exec -it b56fa0d76d5c bash
root@b56fa0d76d5c:/# curl 'http://localhost/health'
Request is missing required query parameter 'apiName' 

Mas não consigo acessar o host:

[ec2-user]$ curl 'http://localhost/health'
curl: (56) Recv failure: Connection reset by peer

Analisei esta resposta detalhada neste erro curl , mas não sei como depurar questão.

    
por Kevin Meredith 11.04.2016 / 20:22

1 resposta

6

Conexão Redefinir para um contêiner Docker geralmente indica que você definiu um mapeamento de porta para o contêiner que não aponta para um aplicativo.

Portanto, se você tiver definido um mapeamento de 80:80, verifique se o processo dentro da instância do docker está sendo executado na porta 80 (netstat -an | grep LISTEN).

Você recebe uma redefinição quando o 'proxy' do Docker pega a conexão, tenta se conectar ao processo dentro do contêiner e falha, então redefine a conexão.

    
por 11.04.2016 / 20:42