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

HTTP 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ą.

Susiję straipsniai