Inizialmente il mio contenitore docker era in grado di raggiungere Internet esterno (questo è un servizio / contenitore docker in esecuzione su un Amazon EC2).
Poiché la mia app è un'API, ho seguito la creazione del mio contenitore (è riuscito a estrarre tutti i pacchetti necessari) con l'aggiornamento delle mie tabelle IP per instradare tutto il traffico dalla porta 80 alla porta che era la mia API (in esecuzione su docker) ascoltando.
Quindi, più tardi, quando ho provato a ricostruire il contenitore, non è riuscito. Dopo molte difficoltà, ho scoperto che il mio passaggio precedente (impostazione della regola di port forwarding IPTable) ha compromesso la capacità di rete esterna della docker.
Soluzione: interrompere il servizio IPTable:
sudo service iptables stop
Riavvia il Docker Daemon:
sudo service docker restart
Quindi, prova a ricostruire il tuo contenitore. Spero che questo ti aiuti.
Azione supplementare
Ho completamente ignorato che non avevo bisogno di scherzare con le tabelle IP per inoltrare il traffico in entrata a 80 alla porta su cui era in esecuzione l'API in esecuzione sulla finestra mobile. Invece, ho appena spostato la porta 80 sulla porta su cui era in esecuzione l'API nella finestra mobile:
docker run -d -p 80:<api_port> <image>:<tag> <command to start api>
sysctl -w net.ipv4.ip_forward=1