Lewati ke isi

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:

  1. Temporary failure in name resolution
  2. Connection refused
  3. Connection to bing.com timed out
  4. Kesalahan jaringan lainnya

Anda dapat melakukan langkah-langkah berikut secara berurutan untuk mengatasi masalah:

  1. Pada host, jalankan ping 8.8.8.8, periksa apakah host dapat mengakses internet
  2. Pada host, jalankan curl http://bing.com, periksa apakah DNS pada host normal
  3. Jalankan docker exec -it {ID Container DataFlux Func} sh -c 'exec ping 8.8.8.8', periksa apakah container dapat mengakses internet
  4. 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
{
    "dns" : [
        "8.8.8.8",
        "8.8.4.4"
    ]
}