Awalnya kontainer buruh pelabuhan saya dapat menjangkau internet eksternal (Ini adalah layanan / kontainer buruh pelabuhan yang berjalan di Amazon EC2).
Karena aplikasi saya adalah API, saya menindaklanjuti pembuatan penampung saya (berhasil menarik semua paket yang diperlukan) dengan memperbarui Tabel IP saya untuk merutekan semua lalu lintas dari port 80 ke port yang API saya (berjalan di buruh pelabuhan) sebelumnya mendengarkan.
Kemudian, ketika saya mencoba membangun kembali kontainer itu gagal. Setelah banyak perjuangan, saya menemukan bahwa langkah saya sebelumnya (mengatur aturan penerusan port IPTable) mengacaukan kemampuan jaringan eksternal buruh pelabuhan.
Solusi: Hentikan layanan IPTable Anda:
sudo service iptables stop
Mulai ulang Daemon Docker:
sudo service docker restart
Kemudian, coba buat kembali wadah Anda. Semoga ini membantu.
Mengikuti
Saya benar-benar mengabaikan bahwa saya tidak perlu mengotak-atik Tabel IP untuk meneruskan lalu lintas masuk ke 80 ke port tempat API yang berjalan di buruh pelabuhan sedang berjalan. Sebagai gantinya, saya hanya menggunakan alias port 80 ke port yang API di docker sedang berjalan:
docker run -d -p 80:<api_port> <image>:<tag> <command to start api>
sysctl -w net.ipv4.ip_forward=1(di Centos 6)