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.json

HTTP ప్రాక్సీ జాబితా రెండు HTTP URL విలువలకు అభ్యర్థులను అందిస్తుంది, పబ్లిక్ registry ట్రాఫిక్ పబ్లిక్ మధ్యవర్తులను ఉపయోగించగలిగినప్పుడు; అంతర్గత బైపాస్‌లను ఉంచండి. strenv ప్రతి విలువను స్ట్రింగ్‌గా చదువుతుంది. env బదులుగా YAML విలువలను విశ్లేషిస్తుంది, ఇది ఈ URL మరియు బైపాస్ ఫీల్డ్‌లకు అవసరం లేదు. strenv లోపలి పర్యావరణ చరరాశి పేరుకు డాలర్ ఉపసర్గ లేదు.

మూడు ఫీల్డ్‌లను కేటాయించడం proxies యొక్క ఇతర సభ్యులను మరియు సంబంధం లేని ఉన్నత స్థాయి సెట్టింగ్‌లను కాపాడుతుంది. -o=json ఎంపిక అవుట్‌పుట్‌ను Docker ఆశించే ఫార్మాట్‌లో ఉంచుతుంది. yq అనే మరో ప్రోగ్రామ్‌కు వేరే వ్యక్తీకరణ భాష ఉండవచ్చు.

యంత్రం యొక్క సాధారణ కాన్ఫిగరేషన్ ప్రక్రియ ద్వారా సక్రియ ఫైల్‌ను మార్చే ముందు అభ్యర్థిని సమీక్షించండి. shell రీడైరెక్షన్‌తో నేరుగా ఇన్‌పుట్‌కు తిరిగి రాయడం yq చదవకముందే దాన్ని కత్తిరించవచ్చు.

ఈ హైఫన్ ఫీల్డ్ పేర్లు Docker Engine యొక్క daemon ను కాన్ఫిగర్ చేస్తాయి. Docker Desktop దాని స్వంత ప్రాక్సీ సెట్టింగ్‌లను ఉపయోగిస్తుంది, మరియు CLI యొక్క కంటైనర్-పర్యావరణ ప్రాక్సీ ఆబ్జెక్ట్‌కు మరో స్కీమా ఉంది.

సంబంధిత వ్యాసాలు