yq v4 తో Docker daemon.json యొక్క ప్రాక్సీ ఫీల్డ్లను సవరించండి
ఉన్న daemon సెట్టింగ్లను కాపాడుతూ ప్రాక్సీ స్ట్రింగ్లను చేర్చి, సమీక్షించగల JSON అభ్యర్థిని తయారుచేయడానికి Mike Farah యొక్క yq v4 ఉపయోగించండి.
daemon.json ఫైల్లో ఇప్పటికే DNS, నిల్వ లేదా లాగింగ్ సెట్టింగ్లు ఉండవచ్చు. ప్రాక్సీని మార్చేటప్పుడు ఆ కీలు కాపాడబడాలి.
Mike Farah యొక్క yq v4 తో ప్రతి ఫీల్డ్ను విడిగా కేటాయించి ప్రత్యేక అభ్యర్థిని రాయండి:
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 ప్రాక్సీ జాబితా రెండు HTTP URL విలువలకు అభ్యర్థులను అందిస్తుంది, పబ్లిక్ registry ట్రాఫిక్ పబ్లిక్ మధ్యవర్తులను ఉపయోగించగలిగినప్పుడు; అంతర్గత బైపాస్లను ఉంచండి. strenv ప్రతి విలువను స్ట్రింగ్గా చదువుతుంది. env బదులుగా YAML విలువలను విశ్లేషిస్తుంది, ఇది ఈ URL మరియు బైపాస్ ఫీల్డ్లకు అవసరం లేదు. strenv లోపలి పర్యావరణ చరరాశి పేరుకు డాలర్ ఉపసర్గ లేదు.
మూడు ఫీల్డ్లను కేటాయించడం proxies యొక్క ఇతర సభ్యులను మరియు సంబంధం లేని ఉన్నత స్థాయి సెట్టింగ్లను కాపాడుతుంది. -o=json ఎంపిక అవుట్పుట్ను Docker ఆశించే ఫార్మాట్లో ఉంచుతుంది. yq అనే మరో ప్రోగ్రామ్కు వేరే వ్యక్తీకరణ భాష ఉండవచ్చు.
యంత్రం యొక్క సాధారణ కాన్ఫిగరేషన్ ప్రక్రియ ద్వారా సక్రియ ఫైల్ను మార్చే ముందు అభ్యర్థిని సమీక్షించండి. shell రీడైరెక్షన్తో నేరుగా ఇన్పుట్కు తిరిగి రాయడం yq చదవకముందే దాన్ని కత్తిరించవచ్చు.
ఈ హైఫన్ ఫీల్డ్ పేర్లు Docker Engine యొక్క daemon ను కాన్ఫిగర్ చేస్తాయి. Docker Desktop దాని స్వంత ప్రాక్సీ సెట్టింగ్లను ఉపయోగిస్తుంది, మరియు CLI యొక్క కంటైనర్-పర్యావరణ ప్రాక్సీ ఆబ్జెక్ట్కు మరో స్కీమా ఉంది.