Docker proxy poverilnice: kodiranje URL in systemd odstotni escapei
Odstotno kodirajte komponente proxy poverilnic, nato pa te odstotne znake ohranite skozi dodelitev Environment v systemd.
Uporabniško ime proxyja v slogu domene lahko vsebuje povratno poševnico, geslo pa lahko vsebuje znake, ki jih rezervira sintaksa URI. Pri gradnji URL-ja proxyja kodirajte te komponente poverilnic: povratna poševnica na primer postane %5C.
Dodelitev Environment v storitvi systemd doda še en razčlenjevalnik. Dobesedne odstotne znake v konfiguraciji enote je treba podvojiti:
[Service]
Environment="HTTPS_PROXY=http://DOMAIN%%5Cproxy-user:example%%[email protected]:8080"
Ilustrativne vrednosti predstavljajo domensko uporabniško ime in geslo, ki vsebuje #. systemd spremeni %% v %, tako da koda URL ostane pri demonu. Dodajte ustrezno dodelitev HTTP_PROXY, če tudi ta ciljna shema potrebuje pot.
Dvojni odstotek je sintaksa systemd. Vrednost proxyja v daemon.json pri Dockerju pa vsebuje običajne escapee URI, kot sta %5C in %23. Ne kopirajte zapisa iz datoteke enote nespremenjenega v JSON ali v polje URL-ja proxyja pri odjemalcu.
Imejte pred očmi tudi konfigurirani vir. Docker dokumentira, da ima konfiguracija proxyja demona prednost pred okoljskimi spremenljivkami proxyja; starejša vrednost JSON lahko zato skrije popravljeno okolje storitve.