Efallai bod ffeil daemon.json eisoes yn cynnwys gosodiadau DNS, storio neu logio. Wrth newid y dirprwy dylid cadw'r allweddi hynny.

Gyda yq v4 Mike Farah, penodwch bob maes ar wahân ac ysgrifennwch ymgeisydd ar wahân:

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

Mae'r rhestr dirprwy HTTP yn cynnig ymgeiswyr ar gyfer y ddau werth URL HTTP pan allai traffig registry cyhoeddus ddefnyddio cyfryngwyr cyhoeddus; cadwch y bylchau mewnol. Mae strenv yn darllen pob gwerth fel llinyn. Mae env yn hytrach yn dadansoddi gwerthoedd YAML, sy'n ddiangen ar gyfer y meysydd URL a bylchau hyn. Nid oes rhagddodiad doler ar enw'r newidyn amgylchedd y tu mewn i strenv.

Mae penodi tri maes yn cadw aelodau eraill proxies ynghyd â gosodiadau lefel uchaf heb berthynas. Mae'r opsiwn -o=json yn cadw'r allbwn yn y fformat y mae Docker yn ei ddisgwyl. Gall rhaglen arall o'r enw yq fod â iaith mynegiant wahanol.

Adolygwch yr ymgeisydd cyn disodli'r ffeil weithredol trwy broses gyfluniad arferol y peiriant. Gall ysgrifennu'n syth yn ôl i'r mewnbwn â chyfeiriad shell ei dorri cyn i yq ei darllen.

Mae'r enwau maes hyn â chysylltnod yn ffurfweddu daemon Docker Engine. Mae Docker Desktop yn defnyddio ei osodiadau dirprwy ei hun, ac mae gan wrthrych dirprwy amgylchedd cynhwysydd y CLI sgema arall.

Erthyglau cysylltiedig