Urejanje proxy polj v Docker daemon.json z yq v4
Uporabite yq v4 Mikea Faraha za ohranitev obstoječih nastavitev daemon, vstavljanje proxy nizov in izdelavo preglednega JSON kandidata.
Datoteka daemon.json lahko že vsebuje nastavitve DNS, shrambe ali beleženja. Pri spremembi proxyja je treba te ključe ohraniti.
Z yq v4 Mikea Faraha dodelite posamezna polja in zapišite ločenega kandidata:
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.jsonSeznam proxyjev HTTP ponuja kandidate za obe vrednosti URL HTTP, ko lahko javni promet do registry uporablja javne posrednike; obdržite notranje izjeme. strenv vsako vrednost prebere kot niz. env pa razčlenjuje vrednosti YAML, kar za ta polja URL in izjem ni potrebno. Ime okoljske spremenljivke znotraj strenv nima predpone z dolarjem.
Dodelitev treh polj ohrani druge člane proxies in tudi nepovezane nastavitve najvišje ravni. Možnost -o=json ohrani izhod v obliki, ki jo Docker pričakuje. Drug program z imenom yq ima lahko drugačen jezik izrazov.
Preglejte kandidata, preden zamenjate aktivno datoteko z običajnim postopkom konfiguracije na stroju. Pisanje neposredno nazaj v vhod s preusmeritvijo lupine ga lahko skrajša, preden ga yq prebere.
Ta imena polj z vezajem konfigurirajo daemon Docker Engine. Docker Desktop uporablja svoje proxy nastavitve, objekt proxyja za okolje vsebnika v CLI pa ima drugo shemo.