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 :
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
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 :
[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.
sudo systemctl daemon-reload
sudo systemctl restart docker
Check docker environment untuk memastikan perubahan pada konfigurasi docker.
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
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




