Credenciales de proxy de Docker: codificación de URL y escapes porcentuales de systemd
Codifique con porcentaje los componentes de las credenciales del proxy y luego conserve esos signos de porcentaje a través de una asignación Environment de systemd.
Un nombre de usuario de proxy con estilo de dominio puede contener una barra invertida, y una contraseña puede contener caracteres reservados por la sintaxis de URI. Codifique esos componentes de credenciales al construir la URL del proxy: una barra invertida se convierte, por ejemplo, en %5C.
Una asignación Environment de un servicio systemd añade otro analizador. Los signos de porcentaje literales de la configuración de la unidad deben duplicarse:
[Service]
Environment="HTTPS_PROXY=http://DOMAIN%%5Cproxy-user:example%%[email protected]:8080"
Los valores ilustrativos representan un nombre de usuario de dominio y una contraseña que contiene #. systemd convierte %% en %, dejando la URL codificada para el demonio. Añada la asignación HTTP_PROXY correspondiente si ese esquema de destino también necesita la ruta.
El porcentaje doble es sintaxis de systemd. En cambio, el valor de proxy en daemon.json de Docker contiene los escapes URI ordinarios, como %5C y %23. No copie la grafía del archivo de unidad sin cambios en JSON ni en el campo de URL de proxy de un cliente.
Mantenga también a la vista el origen configurado. Docker documenta que la configuración de proxy del demonio tiene prioridad sobre las variables de entorno de proxy; por eso un valor JSON antiguo puede ocultar un entorno de servicio corregido.