Edit Bidang Proxy Docker daemon.json dengan yq v4
Gunakan yq v4 dari Mike Farah untuk mempertahankan pengaturan daemon yang ada, menyisipkan string proxy, dan menghasilkan kandidat JSON yang dapat ditinjau.
Berkas daemon.json mungkin sudah berisi pengaturan DNS, penyimpanan, atau pencatatan. Saat mengubah proxy, kunci-kunci tersebut harus dipertahankan.
Dengan yq v4 dari Mike Farah, tetapkan setiap bidang satu per satu dan tulis kandidat terpisah:
http_proxy='http://proxy.example:8080' \
https_proxy='http://proxy.example:8080' \
no_proxy='localhost,127.0.0.1,.internal.example' \
yq -o=json '
.proxies."http-proxy" = strenv(http_proxy) |
.proxies."https-proxy" = strenv(https_proxy) |
.proxies."no-proxy" = strenv(no_proxy)
' /etc/docker/daemon.json > daemon.proxy-candidate.jsonDaftar proxy HTTP menawarkan kandidat untuk kedua nilai URL HTTP ketika lalu lintas registry publik mungkin memakai perantara publik; pertahankan pengecualian internal. strenv membaca setiap nilai sebagai string. env sebaliknya mengurai nilai YAML, yang tidak diperlukan untuk bidang URL dan pengecualian ini. Nama variabel lingkungan di dalam strenv tidak memiliki awalan dolar.
Menetapkan tiga bidang mempertahankan anggota proxies lainnya serta pengaturan tingkat atas yang tidak terkait. Opsi -o=json menjaga keluaran dalam format yang diharapkan Docker. Program lain bernama yq dapat memiliki bahasa ekspresi yang berbeda.
Tinjau kandidat sebelum mengganti berkas aktif melalui proses konfigurasi normal mesin. Menulis langsung kembali ke masukan dengan pengalihan shell dapat memotongnya sebelum yq membacanya.
Nama bidang bertanda hubung ini mengonfigurasi daemon Docker Engine. Docker Desktop memakai pengaturan proxy sendiri, dan objek proxy lingkungan kontainer pada CLI memiliki skema lain.