yq v4 ಬಳಸಿ Docker daemon.json ನ ಪ್ರಾಕ್ಸಿ ಕ್ಷೇತ್ರಗಳನ್ನು ಸಂಪಾದಿಸಿ
ಇರುವ daemon ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಲು, ಪ್ರಾಕ್ಸಿ ಸ್ಟ್ರಿಂಗ್ಗಳನ್ನು ಸೇರಿಸಲು ಮತ್ತು ಪರಿಶೀಲಿಸಬಹುದಾದ JSON ಅಭ್ಯರ್ಥಿಯನ್ನು ರಚಿಸಲು Mike Farah ಅವರ yq v4 ಬಳಸಿ.
daemon.json ಫೈಲ್ನಲ್ಲಿ ಈಗಾಗಲೇ DNS, ಸಂಗ್ರಹಣೆ ಅಥವಾ ಲಾಗಿಂಗ್ ಸೆಟ್ಟಿಂಗ್ಗಳಿರಬಹುದು. ಪ್ರಾಕ್ಸಿ ಬದಲಿಸುವಾಗ ಆ ಕೀಗಳನ್ನು ಉಳಿಸಿಕೊಳ್ಳಬೇಕು.
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 ಪ್ರಾಕ್ಸಿ ಪಟ್ಟಿ ಎರಡು HTTP URL ಮೌಲ್ಯಗಳಿಗೆ ಅಭ್ಯರ್ಥಿಗಳನ್ನು ನೀಡುತ್ತದೆ, ಸಾರ್ವಜನಿಕ registry ಸಂಚಾರವು ಸಾರ್ವಜನಿಕ ಮಧ್ಯವರ್ತಿಗಳನ್ನು ಬಳಸಬಹುದಾದಾಗ; ಆಂತರಿಕ ಬೈಪಾಸ್ಗಳನ್ನು ಉಳಿಸಿ. strenv ಪ್ರತಿ ಮೌಲ್ಯವನ್ನು ಸ್ಟ್ರಿಂಗ್ ಆಗಿ ಓದುತ್ತದೆ. env ಬದಲಿಗೆ YAML ಮೌಲ್ಯಗಳನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತದೆ, ಇದು ಈ URL ಮತ್ತು ಬೈಪಾಸ್ ಕ್ಷೇತ್ರಗಳಿಗೆ ಅನಗತ್ಯ. strenv ಒಳಗಿನ ಪರಿಸರ ಚರದ ಹೆಸರಿಗೆ ಡಾಲರ್ ಪೂರ್ವಪ್ರತ್ಯಯವಿಲ್ಲ.
ಮೂರು ಕ್ಷೇತ್ರಗಳನ್ನು ನಿಗದಿಪಡಿಸುವುದು proxies ನ ಇತರ ಸದಸ್ಯರನ್ನು ಮತ್ತು ಸಂಬಂಧವಿಲ್ಲದ ಉನ್ನತ ಮಟ್ಟದ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಉಳಿಸುತ್ತದೆ. -o=json ಆಯ್ಕೆಯು ಔಟ್ಪುಟ್ ಅನ್ನು Docker ನಿರೀಕ್ಷಿಸುವ ಸ್ವರೂಪದಲ್ಲಿಯೇ ಇಡುತ್ತದೆ. yq ಎಂಬ ಇನ್ನೊಂದು ಪ್ರೋಗ್ರಾಂ ಬೇರೆ ಅಭಿವ್ಯಕ್ತಿ ಭಾಷೆಯನ್ನು ಹೊಂದಿರಬಹುದು.
ಯಂತ್ರದ ಸಾಮಾನ್ಯ ಸಂರಚನಾ ಪ್ರಕ್ರಿಯೆಯ ಮೂಲಕ ಸಕ್ರಿಯ ಫೈಲ್ ಬದಲಿಸುವ ಮೊದಲು ಅಭ್ಯರ್ಥಿಯನ್ನು ಪರಿಶೀಲಿಸಿ. shell ಮರುನಿರ್ದೇಶನದೊಂದಿಗೆ ನೇರವಾಗಿ ಇನ್ಪುಟ್ಗೆ ಹಿಂತಿರುಗಿ ಬರೆಯುವುದು yq ಓದುವ ಮೊದಲೇ ಅದನ್ನು ಕತ್ತರಿಸಬಹುದು.
ಈ ಹೈಫನ್ಯುಕ್ತ ಕ್ಷೇತ್ರ ಹೆಸರುಗಳು Docker Engine ನ daemon ಅನ್ನು ಸಂರಚಿಸುತ್ತವೆ. Docker Desktop ತನ್ನದೇ ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಬಳಸುತ್ತದೆ, ಮತ್ತು CLI ಯ ಕಂಟೇನರ್-ಪರಿಸರ ಪ್ರಾಕ್ಸಿ ಆಬ್ಜೆಕ್ಟ್ಗೆ ಇನ್ನೊಂದು ಸ್ಕೀಮಾ ಇದೆ.