Quiero crear mi propio registro docker privado usando certificados autofirmados. Estoy trabajando en CentOS7 en AWS EC2. Estos son los pasos que seguí:
Creando el certificado
mkdir -p certs && openssl req \
-newkey rsa:4096 -nodes -sha256 -keyout certs/domain.key \
-x509 -days 365 -out certs/domain.crt
Como cname di: ec2-xx-xx-xx-xx.compute.amazonaws.com (nombre de host externo de ec2)
Dar los permisos correctos:
chcon -Rt svirt_sandbox_file_t /home/centos/certs/
Crear y ejecutar mi registro:
docker run -d -p 5000:5000 --restart=always --name registry \
-v `pwd`/certs:/certs \
-e REGISTRY_HTTP_TLS_CERTIFICATE=certs/domain.crt \
-e REGISTRY_HTTP_TLS_KEY=certs/domain.key \
registry:2
Ahora estoy etiquetando y empujando mi imagen:
docker tag ubuntu ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/ubuntu
y presionando docker push ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/ubuntu
Tuve el siguiente error:
unable to ping registry endpoint https://ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/v0/
v2 ping attempt failed with error: Get https://ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/v2/: net/http: TLS handshake timeout
v1 ping attempt failed with error: Get https://ec2-xx-xx-xx-xx.compute.amazonaws.com:5000/v1/_ping: net/http: TLS handshake timeout
Y en mis registros docker
2015/12/11 12:49:21 http: TLS handshake error from 10.0.x.x:54152: EOF
¡Hola!
Lea esta información importante sobre la creación de problemas.
Si está informando un nuevo problema, asegúrese de que no tengamos ningún duplicado abierto. Puede asegurarse de esto buscando en la lista de problemas de este repositorio. Si hay un duplicado, cierre su problema y agregue un comentario al problema existente.
Si sospecha que su problema es un error, edite la descripción del problema para incluir la INFORMACIÓN DEL INFORME DE ERRORES que se muestra a continuación. Si no proporciona esta información dentro de los 7 días, no podremos depurar su problema y lo cerraremos. Sin embargo, lo reabriremos si luego proporciona la información.
Esta es una respuesta automatizada e informativa.
Gracias.
Para obtener más información acerca de los problemas de informes, consulte https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting -other-issues
Utilice los siguientes comandos para proporcionar información clave de su entorno:
docker version
:
docker info
:
uname -a
:
Proporcione detalles adicionales del entorno (AWS, VirtualBox, físico, etc.):
Enumere los pasos para reproducir el problema:
1.
2.
3.
Describa los resultados que recibió:
Describa los resultados que esperaba:
Proporcione información adicional que considere importante:
----------FINALIZAR INFORME ---------
Veo el mismo problema.
Para reproducir:
1) crear un certificado autoasignado
2) crear un registro con el siguiente comando:
docker run -d -p 5000:5000 --restart=always --name registry -v /home/.../data:/var/lib/registry -v /home/.../auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd -v /home/.../certs:/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/$CERT -e REGISTRY_HTTP_TLS_KEY=/certs/$KEY registry:2
Siga: https://docs.docker.com/registry/insecure/ para hacer que Docker funcione con un certificado autoasignado.
Resultado de la siguiente manera:
time="2016-03-09T19:03:05Z" level=warning msg="No se proporcionó ningún secreto HTTP; se generó un secreto aleatorio. Esto puede causar problemas con las cargas si varios registros están detrás de un balanceador de carga. Para proporcionar un secreto compartido, complete http.secret en el archivo de configuración o configure la variable de entorno REGISTRY_HTTP_SECRET". go.version=go1.5.3 instancia.id=fe73a5f8-5fcc-4c46-8488-7f1edba79266 versión=v2.3.1
time="2016-03-09T19:03:05Z" level=info msg="redis no configurado" go.version=go1.5.3 instance.id=fe73a5f8-5fcc-4c46-8488-7f1edba79266 version=v2.3.1
time="2016-03-09T19:03:05Z" level=info msg="Iniciando purga de carga en 50m0s" go.version=go1.5.3 instance.id=fe73a5f8-5fcc-4c46-8488-7f1edba79266 version=v2.3.1
time="2016-03-09T19:03:05Z" level=info msg="usando caché de descriptor de blob en memoria" go.version=go1.5.3 instance.id=fe73a5f8-5fcc-4c46-8488-7f1edba79266 version=v2.3.1
time="2016-03-09T19:03:05Z" level=info msg="escuchando en [::]:5000, tls" go.version=go1.5.3 instancia.id=fe73a5f8-5fcc-4c46-8488-7f1edba79266 versión=v2.3.1
2016/03/09 19:03:33 http: error de protocolo de enlace TLS de xx.xx.xx.xx:53010: EOF
2016/03/09 19:03:43 http: error de protocolo de enlace TLS de xx.xx.xx.xx:53011: EOF
2016/03/09 19:04:00 http: error de protocolo de enlace TLS de xx.xx.xx.xx: 53325: tls: el primer registro no parece un protocolo de enlace TLS
2016/03/09 19:04:06 http: error de protocolo de enlace TLS de xx.xx.xx.xx: 53327: tls: el primer registro no parece un protocolo de enlace TLS
2016/03/09 19:04:09 http: error de protocolo de enlace TLS de xx.xx.xx.xx: 53326: tls: el primer registro no parece un protocolo de enlace TLS
2016/03/09 19:04:13 http: error de protocolo de enlace TLS de xx.xx.xx.xx: 53328: tls: el primer registro no parece un protocolo de enlace TLS
2016/03/09 19:04:24 http: error de protocolo de enlace TLS de xx.xx.xx.xx: 53329: EOF
2016/03/09 19:04:35 http: error de protocolo de enlace TLS de xx.xx.xx.xx: 53333: EOF
2016/03/09 19:04:35 http: error de protocolo de enlace TLS de xx.xx.xx.xx: 53334: EOF
Las líneas que no informan el error son donde intento conectarme a través de un navegador web.
Esperaba poder iniciar sesión en el registro con
mi servidor de inicio de sesión acoplable : 5000
pero se bloquea después de ingresar las credenciales, los registros de la ventana acoplable informan lo anterior
Información del sistema:
versión acoplable
Cliente:
Versión: 1.9.1
Versión API: 1.21
Ir a la versión: go1.4.2
Confirmación de Git: a34a1d5
Construido: viernes 20 de noviembre 13:12:04 UTC 2015
SO/Arco: linux/amd64
Servidor:
Versión: 1.9.1
Versión API: 1.21
Ir a la versión: go1.4.2
Confirmación de Git: a34a1d5
Construido: viernes 20 de noviembre 13:12:04 UTC 2015
SO/Arco: linux/amd64
información de la ventana acoplable
Contenedores: 34
Imágenes: 230
Versión del servidor: 1.9.1
Controlador de almacenamiento: aufs
Directorio raíz: /var/lib/docker/aufs
Sistema de archivos de respaldo: extfs
Dirs: 298
Dirperm1 Compatible: verdadero
Controlador de ejecución: native-0.2
Controlador de registro: archivo json
Versión del núcleo: 3.19.0-25-genérica
Sistema Operativo: Ubuntu 14.04.3 LTS
CPU: 4
Memoria total: 3.665 GiB
Nombre: coheatServer002
ID: 6 OJI:T4AJ :TYV3:UC7E:SKW5:5V4V:74YJ:IY3H:4Q7I:T4EB:3 SJL:NVIQ
ADVERTENCIA: No hay soporte de límite de intercambio
uname -a
Linux coheatServer002 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Vie 24 de julio 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Tengo el mismo problema, alguien me puede ayudar?
Comentario más útil
Tengo el mismo problema, alguien me puede ayudar?