Docker daemon.json proxy alanlarını yq v4 ile düzenleyin
Mevcut daemon ayarlarını korumak, proxy dizelerini eklemek ve incelenebilir bir JSON adayı üretmek için Mike Farah'ın yq v4 aracını kullanın.
Bir daemon.json dosyası hâlihazırda DNS, depolama veya günlük ayarları içerebilir. Proxy değiştirilirken bu anahtarlar korunmalıdır.
Mike Farah'ın yq v4 aracıyla alanları tek tek atayın ve ayrı bir aday yazın:
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 listesi, genel registry trafiği genel aracıları kullanabildiğinde iki HTTP URL değeri için adaylar sunar; dahili istisnaları koruyun. strenv her değeri dize olarak okur. env ise YAML değerlerini ayrıştırır; bu, URL ve istisna alanları için gereksizdir. strenv içindeki ortam değişkeni adının dolar öneki yoktur.
Üç alanın atanması proxies'in diğer üyelerini ve ilgisiz üst düzey ayarları korur. -o=json seçeneği çıktıyı Docker'ın beklediği biçimde tutar. yq adlı başka bir programın ifade dili farklı olabilir.
Etkin dosyayı makinenin olağan yapılandırma süreciyle değiştirmeden önce adayı gözden geçirin. Kabuk yönlendirmesiyle doğrudan girdiye geri yazmak, yq okumadan dosyayı kesebilir.
Bu tireli alan adları Docker Engine daemonunu yapılandırır. Docker Desktop kendi proxy ayarlarını kullanır ve CLI'nin konteyner ortamı proxy nesnesinin başka bir şeması vardır.