es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo se comunica Docker con los registros sin la API HTTP?

Según https://docs.docker.com/registry/spec/api/, sabemos que el demonio de Docker se comunica con los registros de Docker a través de las APIs de HTTP. Sin embargo, algunos registros como m.docker-registry.ir no han implementado la API de HTTP, ya que al ejecutar “curl m.docker-registry.ir/v2/” se recibe la siguiente respuesta:

<html>
<head><title>301 Movido Permanentemente</title></head>
<body>
<center><h1>301 Movido Permanentemente</h1></center>
<hr><center>openresty</center>
</body>
</html>

Sin embargo, las imágenes pueden obtenerse mediante el comando “docker pull m.docker-registry.ir/nginx/nginx”. Entonces, ¿cómo funciona sin la API de HTTP?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Como experto en IT especializado en Docker, Docker Registry y Docker Repository, me gustaría explicar cómo el demonio de Docker se comunica con los registros de Docker a través de las APIs de HTTP y cómo los registros como “m.docker-registry.ir” funcionan sin APIs de HTTP.

    Según la documentación de Docker, el demonio de Docker se comunica con los registros de Docker a través de APIs de HTTP. Esto significa que el demonio de Docker utiliza un conjunto de puntos finales RESTful de HTTP para interactuar con el registro de Docker, lo cual incluye la descarga y carga de imágenes, así como la gestión de repositorios y etiquetas.

    Sin embargo, algunos registros, como “m.docker-registry.ir”, pueden no haber implementado la API de HTTP, como se puede observar en la respuesta al ejecutar el comando “curl m.docker-registry.ir/v2/”. Esta respuesta indica que el registro está utilizando un proxy inverso (OpenResty) para redirigir el tráfico HTTP al punto final real del registro.

    A pesar de no implementar la API de HTTP, las imágenes aún se pueden descargar utilizando el comando “docker pull m.docker-registry.ir/nginx/nginx”. Esto se debe a que el demonio de Docker puede recurrir a un protocolo anterior, llamado API del registro v1, cuando la API v2 no está disponible. La API v1 utiliza la especificación y el formato de archivo del registro de Docker Hub, lo que permite que el demonio de Docker obtenga imágenes del registro.

    En resumen, mientras que el demonio de Docker suele comunicarse con los registros de Docker a través de APIs de HTTP, algunos registros como “m.docker-registry.ir” pueden seguir funcionando sin implementar la API de HTTP mediante el uso de un proxy inverso para redirigir el tráfico al punto final real del registro y recurriendo a un protocolo anterior (API v1) cuando la API más nueva (API v2) no está disponible.

Comments are closed.