Datoteka daemon.json može već sadržavati DNS, storage ili logging postavke. Pri promjeni proxyja te ključeve treba sačuvati.

Uz yq v4 Mikea Faraha dodijelite pojedinačna polja i zapišite zasebnog 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.json

Popis HTTP proxyja nudi kandidate za dvije vrijednosti HTTP URL-a kada javni registry promet može ići preko javnih posrednika; zadržite interne izuzetke. strenv čita svaku vrijednost kao string. env umjesto toga parsira YAML vrijednosti, što nije potrebno za ova polja URL-a i izuzetaka. Naziv varijable okruženja unutar strenv nema znak dolara kao prefiks.

Dodjela tri polja čuva ostale članove proxies kao i nepovezane postavke najviše razine. Opcija -o=json zadržava izlaz u formatu koji Docker očekuje. Drugi program nazvan yq može imati drugačiji jezik izraza.

Pregledajte kandidata prije nego zamijenite aktivnu datoteku uobičajenim postupkom konfiguracije na stroju. Pisanje izravno natrag u ulaz uz shell preusmjeravanje može ga skratiti prije nego što ga yq pročita.

Ova imena polja s crticom konfiguriraju daemon Docker Enginea. Docker Desktop rabi vlastite proxy postavke, a CLI objekt proxyja za okruženje kontejnera ima drugu shemu.

Povezani članci