Não é possível acessar a porta do contêiner do Docker publicamente exposto a partir de uma máquina externa, apenas do host local?

Eu tenho um contêiner Docker em execução na minha máquina Ubuntu Linux 14.04 que expõe uma porta publicamente:

docker run --name spacyapi -d -p 127.0.0.1:7091:7091 jgontrum/spacyapi:en

Posso conectar e executar comandos no servidor no contêiner sem problemas na máquina local. Por exemplo:

curl http://localhost:7091/api --header 'content-type: application/json' --data '{"text": "This is a test."}' -X POST

O comando é executado fielmente. No entanto, se eu tentar o mesmo comando CURL de uma máquina externa, recebo um erro "conexão recusada":

curl http://192.5.169.50:5000/api --header 'content-type: application/json' --data '{"text": "This is a test."}' -X POST
curl: (7) Failed to connect to 192.5.169.50 port 7091: Connection refused

Onde 192.5.169.50 é o endereço IP da caixa que está executando o contêiner do Docker.

Acho que não preciso de nenhuma regra de iptables porque não precisei configurar nenhuma para o servidor Node.JS em execução na mesma caixa. Todos os outros computadores na minha rede local podem acessar o servidor Node.JS muito bem. Mas não o contêiner do Docker atuando como servidor.

Como posso consertar isso?

questionAnswers(1)

yourAnswerToTheQuestion