Docker daemon.json starpniekservera lauku rediģēšana ar yq v4
Izmantojiet Mike Farah yq v4, lai saglabātu esošos daemon iestatījumus, ievietotu starpniekservera virknes un izveidotu pārskatāmu JSON kandidātu.
Failā daemon.json jau var būt DNS, krātuves vai žurnāla iestatījumi. Mainot starpniekserveri, šīs atslēgas ir jāsaglabā.
Ar Mike Farah yq v4 piešķiriet atsevišķos laukus un ierakstiet atsevišķu kandidātu:
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.jsonHTTP starpniekserveru saraksts piedāvā kandidātus abām HTTP URL vērtībām, ja publiskā registry plūsma var izmantot publiskus starpniekus; saglabājiet iekšējos izņēmumus. strenv katru vērtību nolasa kā virkni. env savukārt parsē YAML vērtības, kas šiem URL un izņēmumu laukiem nav nepieciešams. Vides mainīgā nosaukumam strenv iekšienē nav dolāra prefiksa.
Trīs lauku piešķiršana saglabā pārējos proxies locekļus, kā arī nesaistītus augstākā līmeņa iestatījumus. Opcija -o=json saglabā izvadi Docker gaidītajā formātā. Citai programmai ar nosaukumu yq var būt cita izteiksmju valoda.
Pārskatiet kandidātu pirms aktīvā faila aizstāšanas ar parasto mašīnas konfigurācijas procesu. Tieša rakstīšana atpakaļ ievadē ar shell novirzīšanu var to saīsināt, pirms yq to nolasa.
Šie lauku nosaukumi ar defisi konfigurē Docker Engine daemon. Docker Desktop izmanto savus starpniekservera iestatījumus, un CLI konteinera vides starpniekservera objektam ir cita shēma.