Originalmente, meu contêiner de docker conseguiu acessar a Internet externa (este é um serviço / contêiner de docker em execução no Amazon EC2).
Como meu aplicativo é uma API, acompanhei a criação do meu contêiner (ele conseguiu puxar todos os pacotes necessários) atualizando minhas tabelas de IP para rotear todo o tráfego da porta 80 para a porta em que minha API (em execução no docker) estava ouvindo.
Depois, quando tentei reconstruir o contêiner, ele falhou. Após muita luta, descobri que minha etapa anterior (definindo a regra de encaminhamento de porta IPTable) atrapalhava o recurso de rede externa do docker.
Solução: Interrompa o serviço IPTable:
sudo service iptables stop
Reinicie o Docker Daemon:
sudo service docker restart
Em seguida, tente reconstruir seu contêiner. Espero que isto ajude.
Acompanhamento
Eu negligenciei completamente que não precisava mexer nas tabelas IP para encaminhar o tráfego de entrada para 80 para a porta na qual a API em execução no docker estava em execução. Em vez disso, apenas aliei a porta 80 à porta em que a API no docker estava sendo executada:
docker run -d -p 80:<api_port> <image>:<tag> <command to start api>
sysctl -w net.ipv4.ip_forward=1
(no CentOS 6)