Pemecahan Masalah / Kode Tidak Dapat Mengakses Internet
Skrip tidak dapat mengakses internet, umumnya disebabkan oleh DNS atau firewall.
Secara spesifik, ketika Skrip menjalankan kode seperti requests.get('http://bing.com'), terjadi kesalahan berikut:
Temporary failure in name resolutionConnection refusedConnection to bing.com timed out- Kesalahan jaringan lainnya
Anda dapat melakukan langkah-langkah berikut secara berurutan untuk mengatasi masalah:
- Pada host, jalankan
ping 8.8.8.8, periksa apakah host dapat mengakses internet - Pada host, jalankan
curl http://bing.com, periksa apakah DNS pada host normal - Jalankan
docker exec -it {ID Container DataFlux Func} sh -c 'exec ping 8.8.8.8', periksa apakah container dapat mengakses internet - Jalankan
docker exec -it {ID Container DataFlux Func} sh -c 'exec curl http://bing.com -i', periksa apakah DNS di dalam container normal
8.8.8.8 adalah alamat server DNS publik yang umum digunakan
Jika image DataFlux Func yang diinstal tidak memiliki perintah ping, Anda juga dapat menggunakan perintah curl http://{Alamat IP} sebagai gantinya
Kemungkinan penyebab dan solusi:
| Kemungkinan penyebab | Solusi |
|---|---|
| Host tidak dapat mengakses internet, DNS tidak normal | Periksa dan sesuaikan konfigurasi jaringan sistem operasi |
| Container tidak dapat mengakses internet, DNS tidak normal | Periksa dan sesuaikan konfigurasi Docker, jika perlu periksa konfigurasi jaringan sistem operasi |
Referensi Konfigurasi DNS Docker
Edit file /etc/docker/daemon.json, tambahkan konten berikut, lalu simpan dan mulai ulang layanan Docker:
| JSON | |
|---|---|
1 2 3 4 5 6 | |