Hice un registro privado, curl xx.xx.xx.xx: 5000 está bien. Empujo una imagen en el registro privado de Docker haciendo:
docker push xx.xx.xx.xx:5000/centos
devuelve:
http://xx.xx.xx.xx:5000/v1/repositories/centos/tags/latest
la pregunta es cómo obtener todas las imágenes de la web de registro o hacer lo que sea. No puedo encontrar ninguna información de la api del registro de Docker. alguien ayuda? :)
docker
docker-registry
Edwardsbean
fuente
fuente
Respuestas:
A partir de la versión 0.7.0 del registro privado , puede hacer:
y obtendrás una carga útil json:
para dar más antecedentes, aquí es cómo comencé mi registro:
fuente
search
curl -X GET http://localhost:5000/v1/search
puede enumerar todas las imágeneshttp://localhost:5000/v2/_catalog
docs.docker.com/registry/spec/apiAhora, desde el cliente de Docker, simplemente puede buscar en su registro privado directamente sin usar las API HTTP ni ninguna herramienta adicional:
por ejemplo, buscando una imagen centos:
docker search localhost:5000/centos
fuente
Entonces sé que este es un campo que cambia rápidamente, pero (a partir de 2015-09-08) encontré lo siguiente en Docker Registry HTTP API V2 :
Listado de repositorios ( enlace )
Listado de etiquetas de imagen ( enlace )
En base a eso, lo siguiente funcionó para mí en un registro local (registro: 2 ID de IMAGEN 1e847b14150e365a95d76a9cc6b71cd67ca89905e3a0400fa44381ecf00890e1 creado el 2015-08-25T07: 55: 17.072):
fuente
Actualmente no hay soporte de búsqueda para Docker Registry v2 .
Hubo un hilo de larga duración sobre el tema . El plan actual es admitir la búsqueda con una extensión al final, que debería estar lista para la v2.1 .
Como solución alternativa , ejecute lo siguiente en la máquina donde se ejecuta su registro v2:
Las imágenes están en subdirectorios correspondientes a su espacio de nombres, p. Ej.
jwilder/nginx-proxy
fuente
Pude recuperar todo en mi registro privado buscando solo 'biblioteca':
Devoluciones (por ejemplo):
fuente
Error response from daemon: Unexpected status code 404
, ¿qué pasa?curl --insecure -u "test:password" https://myregistrydomain.com:5000/v2/_catalog
Lista de todas las imágenes
Lista de imágenes como 'vcs'
fuente
Instalé el proyecto atc- / docker-registry-web que me proporciona la interfaz de usuario y busco mi registro privado. https://github.com/atc-/docker-registry-web
Está acoplado y puedes ejecutarlo
y revisar contenidos navegando a
registry_ui_host.name:8080
fuente
Actualmente AFAIK, no hay una manera fácil de hacer esto, ya que esta información debe almacenarse en un índice que el registro privado no tiene. Pero dependiendo de cómo comenzó el registro, tiene 2 opciones:
docker diff <id_of_registry_container>
con esto, debería obtener información sobre los cambios en el contenedor fs. Todas las imágenes enviadas deben estar en algún lugar de / tmp / registry / repositories /Si usó "centos" como nombre, debería estar en / tmp / registry / repositories / library / centos. Esta carpeta contendrá archivos de texto que describen la estructura de la imagen. Los datos reales están en / tmp / registry / images /.
fuente
/v1/search
método api en el registro, pero requiere un backend de índice. Existe una implementación de índice básica en el código de registro privado ( github.com/dotcloud/docker-registry/blob/master/docker_registry/… ) pero es solo para proporcionar funciones básicas en modo independiente. Hace unos días encontré esto: github.com/ekristen/docker-index pero no tuve tiempo de probarlo.Modificando la respuesta de @mre para obtener la lista solo desde un comando (válido al menos para Docker Registry v2).
fuente
Otro método en una línea (sustituya su ruta / puertos reales si es necesario).
Ejemplo: suponga un registro genérico: inicio 2.0, el contenedor de registro en ejecución tiene un archivo de registro que contiene imágenes y nombres de etiquetas. Extrapolo los datos así:
Es posible que deba modificar los valores de corte para obtener la salida deseada.
fuente