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 को कन्टेनर-वातावरण प्रोक्सी वस्तुको अर्को स्किमा छ।

सम्बन्धित लेखहरू