Datoteka daemon.json može već sadržavati DNS, storage ili logging postavke. Pri promjeni proxyja ti ključevi treba da ostanu.

Uz yq v4 Mikea Faraha dodijelite pojedinačna polja i zapišite zaseban kandidat:

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

Lista HTTP proxyja nudi kandidate za dvije vrijednosti HTTP URL-a kada javni registry saobraćaj 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šeg nivoa. Opcija -o=json zadržava izlaz u formatu koji Docker očekuje. Drugi program po imenu yq može imati drugačiji jezik izraza.

Pregledajte kandidat prije nego zamijenite aktivnu datoteku kroz uobičajeni proces konfiguracije na mašini. Pisanje direktno natrag u ulaz pomoću shell preusmjeravanja može ga skratiti prije nego što ga yq pročita.

Ova imena polja s crticom konfigurišu daemon Docker Enginea. Docker Desktop koristi vlastite proxy postavke, a CLI objekt proxyja za okruženje kontejnera ima drugu šemu.

Povezani članci