Redakti prokseajn kampojn de Docker daemon.json per yq v4
Uzu yq v4 de Mike Farah por konservi ekzistantajn agordojn de daemon, enmeti proksajn ĉenojn kaj produkti revideblan JSON-kandidaton.
Dosiero daemon.json eble jam enhavas agordojn pri DNS, konservado aŭ protokolado. Ŝanĝante la prokseon oni konservu tiujn ŝlosilojn.
Per yq v4 de Mike Farah, asignu la unuopajn kampojn kaj skribu apartan kandidaton:
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.jsonLa listo de HTTP-prokseoj proponas kandidatojn por la du valoroj de HTTP URL kiam publika registra trafiko povas uzi publikajn perantojn; konservu la internajn esceptojn. strenv legas ĉiun valoron kiel ĉenon. env male analizas YAML-valorojn, kio ne necesas por ĉi tiuj URL- kaj esceptaj kampoj. La nomo de la medivariablo ene de strenv ne havas dolaran prefikson.
Asigni tri kampojn konservas la aliajn membrojn de proxies kaj ankaŭ nerilatajn plejaltnivelajn agordojn. La opcio -o=json tenas la eligon en la formato, kiun Docker atendas. Alia programo nomata yq povas havi alian esprimlingvon.
Revizu la kandidaton antaŭ ol anstataŭigi la aktivan dosieron per la kutima agorda procezo de la maŝino. Skribi rekte reen al la enigo per ŝela alidirektado povas tranĉi ĝin antaŭ ol yq legas ĝin.
Ĉi tiuj kamponomoj kun streketo agordas la daemon de Docker Engine. Docker Desktop uzas proprajn prokseajn agordojn, kaj la proksea objekto de la uja medio en la CLI havas alian skemon.