Solusi Error Response Daemon Pada Docker Debian/Ubuntu

Photo of author
Publish in

Artikel ini akan membahas masalah error reponse yang terjadi pada docker saat melakukan pull image dari registry docker.io di semua basis linux.

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