Uređivanje proxy polja u Docker daemon.json pomoću yq v4
Koristite yq v4 Mikea Faraha da sačuvate postojeće daemon postavke, umetnete proxy nizove i napravite JSON kandidat za pregled.
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.jsonLista 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.