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

Uz yq v4 Mikea Faraha dodelite 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 dve vrednosti HTTP URL-a kada javni registry saobraćaj može ići preko javnih posrednika; zadržite interne izuzetke. strenv čita svaku vrednost kao string. env umesto toga parsira YAML vrednosti, što nije potrebno za ova polja URL-a i izuzetaka. Naziv promenljive okruženja unutar strenv nema znak dolara kao prefiks.

Dodela 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 kandidata pre nego što zamenite aktivnu datoteku uobičajenim procesom konfiguracije na mašini. Pisanje direktno natrag u ulaz pomoću shell preusmeravanja može ga skratiti pre nego što ga yq pročita.

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

Povezani članci