Maaaring may mga setting na ng DNS, storage o logging ang daemon.json. Kapag binago ang proxy, dapat panatilihin ang mga susi na iyon.

Gamit ang yq v4 ni Mike Farah, itakda ang bawat field nang hiwalay at sumulat ng hiwalay na kandidato:

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

Ang listahan ng proxy HTTP ay nag-aalok ng mga kandidato para sa dalawang halaga ng HTTP URL kapag maaaring gumamit ng pampublikong tagapamagitan ang pampublikong trapiko sa registry; panatilihin ang mga panloob na paglampas. Binabasa ng strenv ang bawat halaga bilang string. Ang env naman ay nag-parse ng mga halaga ng YAML, na hindi kailangan para sa mga field na URL at paglampas na ito. Walang prefix na dolyar ang pangalan ng environment variable sa loob ng strenv.

Ang pagtakda ng tatlong field ay nagpapanatili sa iba pang miyembro ng proxies gayundin sa walang kaugnayang setting sa pinakamataas na antas. Pinapanatili ng opsyong -o=json ang output sa format na inaasahan ng Docker. Maaaring may ibang wika ng ekspresyon ang isa pang programang tinatawag na yq.

Suriin ang kandidato bago palitan ang aktibong file sa pamamagitan ng karaniwang proseso ng configuration ng makina. Ang direktang pagsulat pabalik sa input gamit ang redirection ng shell ay maaaring putulin ito bago pa ito basahin ng yq.

Ang mga pangalan ng field na may gitling na ito ay nagko-configure sa daemon ng Docker Engine. Gumagamit ang Docker Desktop ng sarili nitong mga setting ng proxy, at may ibang schema ang object ng proxy ng container environment sa CLI.

Kaugnay na mga artikulo