Docker daemon.json proxy maydonlarini yq v4 bilan tahrirlash
Mavjud daemon sozlamalarini saqlab qolish, proxy satrlarini kiritish va ko'rib chiqiladigan JSON nomzodini yaratish uchun Mike Farah yq v4 dan foydalaning.
daemon.json faylida allaqachon DNS, saqlash yoki jurnal sozlamalari bo'lishi mumkin. Proxy o'zgartirilganda bu kalitlar saqlanishi kerak.
Mike Farah yq v4 bilan har bir maydonni alohida belgilang va alohida nomzod yozing:
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.jsonHTTP proxy ro'yxati ikkita HTTP URL qiymati uchun nomzodlar taklif qiladi, agar ochiq registry trafigi ochiq vositachilardan foydalanishi mumkin bo'lsa; ichki chetlab o'tishlarni saqlang. strenv har bir qiymatni satr sifatida o'qiydi. env esa YAML qiymatlarini tahlil qiladi, bu URL va chetlab o'tish maydonlari uchun kerak emas. strenv ichidagi muhit o'zgaruvchisi nomida dollar prefiksi yo'q.
Uchta maydonni belgilash proxies ning boshqa a'zolarini hamda bog'liq bo'lmagan yuqori darajadagi sozlamalarni saqlaydi. -o=json opsiyasi chiqishni Docker kutgan formatda saqlaydi. yq nomli boshqa dasturning ifoda tili boshqacha bo'lishi mumkin.
Faol faylni mashinaning odatiy konfiguratsiya jarayoni orqali almashtirishdan oldin nomzodni ko'rib chiqing. Shell yo'naltirishi bilan to'g'ridan-to'g'ri kiritishga qayta yozish yq o'qishidan oldin uni qisqartirishi mumkin.
Bu chiziqchali maydon nomlari Docker Engine daemonini sozlaydi. Docker Desktop o'zining proxy sozlamalaridan foydalanadi, CLI ning konteyner muhiti proxy obyekti esa boshqa sxemaga ega.