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