daemon.json ဖိုင်တွင် DNS၊ သိုလှောင်မှု သို့မဟုတ် မှတ်တမ်း ဆက်တင်များ ရှိပြီးဖြစ်နိုင်သည်။ proxy ပြောင်းသည့်အခါ ထို key များကို ထိန်းသိမ်းထားသင့်သည်။

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 proxy စာရင်း သည် အများသူငှာ registry လမ်းကြောင်းစီးဆင်းမှုက အများသူငှာ ကြားခံများကို အသုံးပြုနိုင်သည့်အခါ HTTP URL တန်ဖိုးနှစ်ခုအတွက် ကိုယ်စားလှယ်လောင်းများ ပေးသည်။ အတွင်းပိုင်း ကျော်လွှားမှုများကို ထိန်းထားပါ။ strenv သည် တန်ဖိုးတစ်ခုချင်းစီကို စာကြောင်းအဖြစ် ဖတ်သည်။ env သည် YAML တန်ဖိုးများကို ခွဲခြမ်းစိတ်ဖြာသည်၊ ဤ URL နှင့် ကျော်လွှားမှု အကွက်များအတွက် မလိုအပ်ပါ။ strenv အတွင်းရှိ ပတ်ဝန်းကျင် ကိန်းရှင်၏ အမည်တွင် ဒေါ်လာ ရှေ့ဆက် မရှိပါ။

အကွက်သုံးခု သတ်မှတ်ခြင်းသည် proxies ၏ အခြားအဖွဲ့ဝင်များနှင့် မသက်ဆိုင်သော ထိပ်တန်းဆက်တင်များကို ထိန်းသိမ်းသည်။ -o=json ရွေးချယ်မှုသည် output ကို Docker မျှော်လင့်သော ပုံစံဖြင့် ထိန်းထားသည်။ yq ဟုခေါ်သော အခြားပရိုဂရမ်တွင် မတူညီသော ဖော်ပြချက်ဘာသာစကား ရှိနိုင်သည်။

စက်၏ ပုံမှန် ဖွဲ့စည်းမှုလုပ်ငန်းစဉ်ဖြင့် အသုံးပြုနေသောဖိုင်ကို အစားထိုးမီ ကိုယ်စားလှယ်လောင်းကို ပြန်လည်စစ်ဆေးပါ။ shell ပြန်ညွှန်းခြင်းဖြင့် input သို့ တိုက်ရိုက် ပြန်ရေးခြင်းသည် yq မဖတ်မီ ဖြတ်တောက်နိုင်သည်။

ဤ တုံးတိုင် ပါသော အကွက်အမည်များသည် Docker Engine ၏ daemon ကို ဖွဲ့စည်းသည်။ Docker Desktop သည် ၎င်း၏ကိုယ်ပိုင် proxy ဆက်တင်များကို အသုံးပြုပြီး CLI ၏ container ပတ်ဝန်းကျင် proxy အရာဝတ္ထုတွင် အခြား schema ရှိသည်။

ဆက်စပ်ဆောင်းပါးများ