Fail daemon.json võib juba sisaldada DNS-i, salvestuse või logimise seadeid. Proxy muutmisel peaksid need võtmed alles jääma.

Mike Farahi yq v4 abil määrake üksikud väljad ja kirjutage eraldi kandidaat:

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 nimekiri pakub kandidaate kahe HTTP URL-i väärtuse jaoks, kui avalik registry-liiklus võib kasutada avalikke vahendajaid; säilitage sisemised erandid. strenv loeb iga väärtust stringina. env seevastu parsib YAML-väärtusi, mis pole nende URL-i ja erandi väljade jaoks vajalik. Keskkonnamuutuja nimi strenv sees ei oma dollarimärgi eesliidet.

Kolme välja määramine säilitab proxies muud liikmed ja ka seostamata ülatasandi seaded. Valik -o=json hoiab väljundi vormingus, mida Docker ootab. Teisel programmil nimega yq võib olla teistsugune avaldiste keel.

Vaadake kandidaat üle enne, kui asendate aktiivse faili masina tavapärase konfiguratsiooniprotsessiga. Otse sisendisse tagasi kirjutamine shelli suunamisega võib selle enne yq lugemist lühendada.

Need sidekriipsuga väljanimed seadistavad Docker Engine'i daemoni. Docker Desktop kasutab oma proxy-seadeid ning CLI konteinerikeskkonna proxy-objektil on teine skeem.

Seotud artiklid