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.json

Az 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.

Kapcsolódó cikkek