Artikel ini akan membahas masalah error reponse yang terjadi pada docker saat melakukan pull image dari registry docker.io di semua basis linux.
Contents
Bagian 1 – Awal Masalah
Masalah ini muncul pertama kali pada saat saya melakukan deployment pada server dev, terjadi errror pada proses pull image. Awalnya saya kira masalah ini karena DNS default yang digunakan oleh provider internet yang kami gunakan di kantor.
Mitigasi awal yang saya lakukan adalah mengganti DNS pada server menggunakan cloudflare dan google yaitu 1.1.1.1 dan 8.8.8.8. Setelah diubah ternyata ada perubahan status error menjadi seperti berikut :
1 2 3 |
docker pull webdevops/nginx Using default tag: latest Error response from daemon: Head "https://registry-1.docker.io/v2/webdevops/nginx/manifests/latest": Get "https://auth.docker.io/token?scope=repository%3Awebdevops%2Fnginx%3Apull&service=registry.docker.io": context deadline exceeded |
Akhirnya saya coba mencari solusi lain dari beberapa forum di internet.
Bagian 2 – Konfiguasi Proxy Docker
Akhirnya menemukan solusi dari beberapa forum dan menemukan cara yang cukup efektif yaitu dengan menambahkan service proxy pada docker, pertama buat directory service.d lalu buat file baru dengan nama http-proxy.conf
1 2 |
sudo mkdir -p /etc/systemd/system/docker.service.d sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf |
Isikan file proxy dengan konfigurasi berikut :
1 2 3 |
[Service] Environment="HTTP_PROXY=http://webproxy.bu.edu:8900" Environment="HTTPS_PROXY="http://webproxy.bu.edu:8900" |
Setelah itu restart service daemon dan juga docker.
1 2 |
sudo systemctl daemon-reload sudo systemctl restart docker |
Check docker environment untuk memastikan perubahan pada konfigurasi docker.
1 |
sudo systemctl show --property=Environment docker |
Jika berhasil maka outputnya akan terlihat Environment=HTTP_PROXY=http://webproxy.bu.edu:8900
Bagian 3 – Pengujian
Lakukan pengujian konfigruasi dengan melakukan pull image baru dari docker hub, jika berhasil maka image akan diunduh secara normal. Contoh image webdevops/nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
docker pull webdevops/nginx Using default tag: latest latest: Pulling from webdevops/nginx 5bed26d33875: Pull complete f11b29a9c730: Pull complete 930bda195c84: Pull complete 78bf9a5ad49e: Pull complete 4c8b85719399: Pull complete 30611fcc1b5e: Pull complete f70f19977fc5: Pull complete 5131985698ec: Pull complete 965dc840ca20: Pull complete 5133dbfaf3f3: Pull complete Digest: sha256:8cb595ec0a5c3a24ec40d91b8c15508348c71db691c11114a7d891608f08af35 Status: Downloaded newer image for webdevops/nginx:latest docker.io/webdevops/nginx:latest |
Penutup
Konfigurasi proxy pada artikel ini bisa menjadi alternative untuk masalah docker error response, tapi sebelum itu pastikan kamu sudah coba untuk melakukan mitigasi awal seperti mengecek jaringan dan dns server, apabila ternyata masih error maka bisa mencoba langsung cara proxy ini. Semoga bermanfaat
Referensi
- https://askubuntu.com/questions/1400464/docker-error-response-from-daemon-get-https-registry-1-docker-io-v2-net-ht