unknown tls secure run linux ssl rhel docker

linux - tls - Docker detrás del proxy que cambia el certificado ssl



docker x509: certificate signed by unknown authority (3)

Estoy tratando de ejecutar el siguiente comando docker:

docker run -i -t ubuntu /bin/bash

Pero me sale el error:

Unable to find image ''ubuntu'' (tag: latest) locally Pulling repository ubuntu 2013/11/28 14:00:24 Get https://index.docker.io/v1/images/ubuntu/ancestry: x509: certificate signed by unknown authority

Sé que nuestra empresa reemplaza el Certificado SSL sobre la marcha para las solicitudes https.

Intenté confiar en el certificado de CA de nuestra empresa colocándolo en:

/etc/pki/tls/certs/ca-bundle.crt

y

/etc/pki/tls/cert.pem

Pero todavía no funciona.

¿Algunas ideas?


De acuerdo con http://golang.org/src/pkg/crypto/x509/root_unix.go , debe adjuntar su certificado a uno de los siguientes:

  • /etc/ssl/certs/ca-certificates.crt
  • /etc/pki/tls/certs/ca-bundle.crt
  • /etc/ssl/ca-bundle.pem
  • /etc/ssl/cert.pem
  • /usr/local/share/certs/ca-root-nss.crt

Encuentre el que existe en su sistema y adjúntele su certificado.

(Y prepárese para hacerlo de nuevo cuando actualice el paquete que contiene ese archivo ...)

Espero que haya un método mejor, pero este es el único que encontré hasta ahora :-)


La respuesta de @jpetazzo es correcta en general, sin embargo, hay una manera más agradable de hacer lo mismo (sin editar manualmente un archivo de paquete de ca):

  • en CentOS:

    sudo cp yourcert.crt /etc/pki/ca-trust/source/anchors/ sudo update-ca-trust extract sudo service docker restart

  • en Debian:

    sudo cp yourcert.crt /usr/local/share/ca-certificates/ sudo update-ca-certificates sudo service docker restart

Tenga en cuenta que es necesario reiniciar el demonio docker!


Para configurar la ventana acoplable para que funcione con un sistema proxy, primero debe agregar la variable de entorno HTTPS_PROXY / HTTP_PROXY al archivo sysconfig de la ventana acoplable. Sin embargo, dependiendo de si usa init.d o la herramienta de servicios que necesita para agregar la declaración "exportar". Como solución alternativa, simplemente puede agregar ambas variantes en el archivo sysconfig de la ventana acoplable:

/etc/sysconfig/docker HTTPS_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>" HTTP_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>" export HTTP_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>" export HTTPS_PROXY="https://<user>:<password>@<proxy-host>:<proxy-port>"

Para que la ventana acoplable funcione con los servidores proxy de intercepción ssl, debe agregar el certificado de proxy proxy al almacén de confianza del sistema.

Para CentOS, copie el archivo en / etc / pki / ca-trust / source / anchors / y actualice el almacén de confianza de ca. Reinicie el servicio docker después. Si su proxy usa autenticación NTLM, es necesario usar proxies intermedios como cntlm. Este blog lo explica en detalle.