Docker daemon.json-ի proxy դաշտերի խմբագրում yq v4-ով
Օգտագործեք Mike Farah-ի yq v4-ը՝ գործող daemon կարգավորումները պահպանելու, proxy տողեր ավելացնելու և վերանայելի JSON թեկնածու ստեղծելու համար։
daemon.json ֆայլը կարող է արդեն պարունակել DNS, պահոցի կամ մատյանների կարգավորումներ։ Proxy-ն փոխելիս այդ բանալիները պետք է պահպանվեն։
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 proxy ցանկը թեկնածուներ է առաջարկում HTTP URL-ի երկու արժեքների համար, երբ հանրային registry երթևեկությունը կարող է օգտագործել հանրային միջնորդներ. պահեք ներքին բացառությունները։ strenv-ը յուրաքանչյուր արժեք կարդում է որպես տող։ env-ը փոխարենը վերլուծում է YAML արժեքներ, ինչն ավելորդ է այս URL և բացառության դաշտերի համար։ strenv-ի ներսում միջավայրի փոփոխականի անունը դոլարի նախածանց չունի։
Երեք դաշտ նշանակելը պահպանում է proxies-ի մյուս անդամները, ինչպես նաև անկապ վերին մակարդակի կարգավորումները։ -o=json տարբերակը ելքը պահում է Docker-ի սպասած ձևաչափով։ yq կոչվող մեկ այլ ծրագիր կարող է ունենալ այլ արտահայտությունների լեզու։
Վերանայեք թեկնածուն նախքան մեքենայի սովորական կարգավորման ընթացակարգով ակտիվ ֆայլը փոխարինելը։ Shell-ի վերահասցեավորմամբ ուղղակիորեն մուտքային ֆայլին գրելը կարող է կտրել այն մինչև yq-ն կկարդա այն։
Այս գծիկավոր դաշտային անունները կարգավորում են Docker Engine-ի daemon-ը։ Docker Desktop-ն օգտագործում է իր proxy կարգավորումները, իսկ CLI-ի կոնտեյներ-միջավայրի proxy օբյեկտն ունի այլ սխեմա։