Como procurar imagens do registo privado 1.0 no docker?

fiz um registo privado, curl xx. xx. xx. xx: 5000 está bem. Introduzo uma imagem no registo privado do docker fazendo: docker push xx.xx.xx.xx:5000/centos
volta.:
http://xx.xx.xx.xx:5000/v1/repositories/centos/tags/latest

a questão é como obter todas as imagens da web de registro ou qualquer coisa do comando. Não consigo encontrar nenhuma informação da api do registo docker. alguém ajuda ? :)

Author: gavioto, 2014-05-19

9 answers

A partir de v 0.7.0 do registo privado pode fazer:

$ curl -X GET http://localhost:5000/v1/search?q=postgresql
E terás uma carga json:
{"num_results": 1, "query": "postgresql", "results": [{"description": "", "name": "library/postgresql"}]}
Para dar mais informações, foi assim que iniciei o meu registo:
docker run \
        -e SETTINGS_FLAVOR=local \
        -e STORAGE_PATH=/registry \
        -e SEARCH_BACKEND=sqlalchemy \
        -e LOGLEVEL=DEBUG \
        -p 5000:5000 \
        registry
 69
Author: faide, 2014-08-07 02:15:51

Agora a partir do docker client você pode simplesmente procurar o seu registo privado directamente sem usar a APIs HTTP ou quaisquer ferramentas extra:

Por exemplo, à procura da imagem centos:

docker search localhost:5000/centos

 83
Author: iTech, 2014-11-04 12:40:32

Então eu sei que este é um campo em rápida mudança, mas (a partir de 2015-09-08) eu encontrei o seguinte no registro de Docker HTTP API v2:

Listar repositórios (ligação)

GET /v2/_catalog

Listar marcas de imagem (ligação)

GET /v2/<name>/tags/list

Baseado na seguinte trabalhou para mim em um local de registro (registro:2 IMAGEM de IDENTIFICAÇÃO de 1e847b14150e365a95d76a9cc6b71cd67ca89905e3a0400fa44381ecf00890e1 criado em 2015-08-25T07:55:17.072):

$ curl -X GET http://localhost:5000/v2/_catalog
{"repositories":["ubuntu"]}
$ curl -X GET http://localhost:5000/v2/ubuntu/tags/list
{"name":"ubuntu","tags":["latest"]}
 63
Author: snth, 2015-09-16 09:54:52

Actualmente não existe nenhum suporte de pesquisa para o registo do Docker v2.

Havia um tópico de longa duração sobre o tópico . O plano atual é apoiar a pesquisa com uma extensão no final, que deve ser pronta por v2.1.

Como um workaround , execute o seguinte na máquina onde o seu registo v2 está a correr:

> docker exec -it <your_registry_container_id> bash
> ls /var/lib/registry/docker/registry/v2/repositories/

As imagens estão em subdiretórios correspondentes ao seu espaço de nomes, e.g. jwilder/nginx-proxy

 15
Author: mre, 2015-10-09 08:59:49
Foi capaz de recuperar tudo no meu registo privado, procurando apenas por 'Biblioteca':
docker search [my.registry.host]:[port]/library
O

Devolve (p. ex.):

NAME                    DESCRIPTION   STARS     OFFICIAL   AUTOMATED
library/custom-image                  0                    
library/another-image                 0                    
library/hello-world                   0
 12
Author: Matthew Rasmussen, 2015-03-03 21:40:14
Instalei o projecto atc-/docker-registry-web que me dá UI e procuro o meu registo privado. https://github.com/atc-/docker-registry-web Está acoplado e pode ser executado por
docker run -p 8080:8080 -e REG1=http://registry_host.name:5000/v1/ atcol/docker-registry-ui

E rever o conteúdo navegando para registry_ui_host.name:8080

 5
Author: Larisa Sabban, 2014-09-17 13:28:58

Actualmente não existe uma forma fácil de o fazer, uma vez que esta informação deve ser armazenada por um índice que o registo privado não tem. Mas dependendo de como você começou o registro você tem 2 opções:

  1. se iniciou o registo sem-v para guardar os dados na pasta da máquina separada, poderá tentar com docker diff <id_of_registry_container> com isto, deverá obter informações sobre as alterações no fs do contentor. Todas as imagens empurradas devem estar algures no /tmp/registry/repositories /
  2. se começar a registar-se com-v apenas verificar o conteúdo da pasta montada na máquina

Se usou "centos" como nome, deve estar em /tmp/registry/repositórios/library/centos. Esta pasta irá conter ficheiros de texto que descrevem a estrutura da imagem. Os dados reais estão em /tmp/registry/images/.

 3
Author: odk, 2014-05-19 13:40:28

Listar todas as imagens

docker search <registry_host>:<registry_port>/

Listar imagens como ' vcs '

docker search <registry_host>:<registry_port>/vcs
 3
Author: smishra, 2016-03-22 20:15:43

Outro método uma linha (substituir o seu caminho/portos reais, se necessário). Exemplo: assume um registo Genérico: arranque 2.0 O container de registro em execução tem um arquivo de registro que contém nomes de imagens e tags. Extrapolei os dados assim:

Grep-r-o "vars.name=.* vars.referência=. " / var/lib/docker/containers | | cut-c 167-225/sed 's / ver.* $ / / '|sed 's/vars.name=//' | sed 's/ vars.referência=/: | ' / sort-u

Pode ser necessário ajustar os valores de corte para obter a saída desejada.

 0
Author: Phil Pinkerton, 2015-08-05 15:30:07