A Docker daemon.json proxy mezőinek szerkesztése yq v4-gyel
A Mike Farah-féle yq v4 segítségével őrizze meg a meglévő daemon-beállításokat, szúrja be a proxy karakterláncokat, és készítsen áttekinthető JSON-jelöltet.
A daemon.json fájl már tartalmazhat DNS-, tárolási vagy naplózási beállításokat. A proxy módosításakor ezeket a kulcsokat meg kell őrizni.
A Mike Farah-féle yq v4-gyel rendelje hozzá az egyes mezőket, és írjon külön jelöltet:
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.jsonAz HTTP proxy lista jelölteket kínál a két HTTP URL-értékhez, amikor a nyilvános registry-forgalom nyilvános közvetítőket használhat; tartsa meg a belső kivételeket. A strenv minden értéket karakterláncként olvas. Az env ezzel szemben YAML-értékeket elemez, ami ezeknél az URL- és kivételmezőknél felesleges. A strenv belsejében lévő környezetiváltozó-névnek nincs dollár előtagja.
Három mező hozzárendelése megőrzi a proxies többi tagját, valamint a nem kapcsolódó legfelső szintű beállításokat. A -o=json kapcsoló a Docker által várt formátumban tartja a kimenetet. Egy másik, yq nevű programnak más kifejezésnyelve lehet.
Tekintse át a jelöltet, mielőtt a gép szokásos konfigurációs folyamatával lecserélné az aktív fájlt. Ha shell-átirányítással közvetlenül a bemenetbe ír vissza, a fájl lerövidülhet, mielőtt a yq beolvassa.
Ezek a kötőjeles mezőnevek a Docker Engine daemonját konfigurálják. A Docker Desktop a saját proxybeállításait használja, a CLI konténerkörnyezet-proxy objektumának pedig más a sémája.