Датотека daemon.json може већ да садржи DNS, storage или logging поставке. При промени proxy-ја ти кључеви треба да остану.

Уз 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-ја нуди кандидате за две вредности HTTP URL-а када јавни registry саобраћај може ићи преко јавних посредника; задржите интерне изузетке. strenv чита сваку вредност као string. env уместо тога парсира YAML вредности, што није потребно за ова поља URL-а и изузетака. Назив променљиве окружења унутар strenv нема знак долара као префикс.

Додела три поља чува остале чланове proxies као и неповезане поставке највишег нивоа. Опција -o=json задржава излаз у формату који Docker очекује. Други програм по имену yq може имати другачији језик израза.

Прегледајте кандидата пре него што замените активну датотеку уобичајеним процесом конфигурације на машини. Писање директно назад у улаз помоћу shell преусмеравања може га скратити пре него што га yq прочита.

Ова имена поља са цртицом конфигуришу daemon Docker Engine-а. Docker Desktop користи сопствене proxy поставке, а CLI објекат proxy-ја за окружење контејнера има другу шему.

Повезани чланци