Docker daemon.json tarpinio serverio laukų redagavimas naudojant yq v4
Naudokite Mike Farah yq v4, kad išsaugotumėte esamus daemon nustatymus, įterptumėte proxy eilutes ir sukurtumėte peržiūrimą JSON kandidatą.
Failas daemon.json jau gali turėti DNS, saugyklos arba žurnalų nustatymus. Keičiant proxy šie raktai turi būti išsaugoti.
Su Mike Farah yq v4 priskirkite atskirus laukus ir įrašykite atskirą 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.jsonHTTP proxy sąrašas siūlo kandidatus dviem HTTP URL reikšmėms, kai viešas registry srautas gali naudoti viešuosius tarpininkus; išsaugokite vidines išimtis. strenv kiekvieną reikšmę skaito kaip eilutę. env vietoj to analizuoja YAML reikšmes, o tai šiems URL ir išimčių laukams nereikalinga. Aplinkos kintamojo pavadinimas strenv viduje neturi dolerio priešdėlio.
Priskyrus tris laukus, išsaugomi kiti proxies nariai ir nesusiję aukščiausio lygio nustatymai. Parinktis -o=json palieka išvestį formatu, kurio tikisi Docker. Kita programa pavadinimu yq gali turėti kitą išraiškų kalbą.
Peržiūrėkite kandidatą prieš pakeisdami aktyvų failą įprastu mašinos konfigūravimo procesu. Tiesioginis įrašymas atgal į įvestį su shell peradresavimu gali jį sutrumpinti prieš yq jį perskaitant.
Šie laukų pavadinimai su brūkšneliu konfigūruoja Docker Engine daemon. Docker Desktop naudoja savo proxy nustatymus, o CLI konteinerio aplinkos proxy objektas turi kitą schemą.