Уредување на прокси полињата во Docker daemon.json со yq v4
Користете yq v4 на Mike Farah за да ги зачувате постоечките daemon поставки, да вметнете прокси низи и да создадете JSON кандидат за преглед.
Датотеката daemon.json може веќе да содржи DNS, поставки за складирање или логирање. При промена на проксито тие клучеви треба да се зачуваат.
Со yq v4 на Mike Farah доделете ги поединечните полиња и запишете посебен кандидат:
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 да го прочита.
Овие имиња на полиња со цртичка го конфигурираат daemon на Docker Engine. Docker Desktop користи сопствени прокси поставки, а објектот за прокси на контејнерската околина во CLI има друга шема.