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 کے کنٹینر ماحول پراکسی آبجیکٹ کی اسکیما الگ ہے۔

متعلقہ مضامین