Датотеката 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 има друга шема.

Поврзани статии