Úprava proxy polí v Docker daemon.json pomocou yq v4
Pomocou yq v4 od Mikea Faraha zachovajte existujúce nastavenia daemonu, vložte proxy reťazce a vytvorte JSON kandidáta na revíziu.
Súbor daemon.json už môže obsahovať nastavenia DNS, úložiska alebo logovania. Pri zmene proxy majú tieto kľúče zostať.
S yq v4 od Mikea Faraha priraďte jednotlivé polia a zapíšte samostatného kandidáta:
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.jsonZoznam HTTP proxy ponúka kandidátov pre obe hodnoty HTTP URL, keď verejná prevádzka do registry môže ísť cez verejných sprostredkovateľov; interné výnimky ponechajte. strenv číta každú hodnotu ako reťazec. env naopak parsuje hodnoty YAML, čo pri týchto poliach URL a výnimiek nie je potrebné. Názov premennej prostredia vnútri strenv nemá predponu s dolárom.
Priradenie troch polí zachová ostatných členov proxies aj nesúvisiace nastavenia najvyššej úrovne. Voľba -o=json udrží výstup vo formáte, ktorý Docker očakáva. Iný program s názvom yq môže mať iný jazyk výrazov.
Kandidáta skontrolujte, kým nahradíte aktívny súbor bežným konfiguračným postupom počítača. Zápis priamo späť do vstupu cez presmerovanie shellu ho môže skrátiť skôr, než ho yq prečíta.
Tieto polia s pomlčkou v názve konfigurujú daemon Docker Engine. Docker Desktop používa vlastné nastavenia proxy a objekt proxy pre prostredie kontajnera v CLI má inú schému.