info - service registry docker




Como alterar o registro do docker padrão de docker.io para o meu registro privado? (5)

ATUALIZAÇÃO: após o seu comentário, atualmente não é possível alterar o registro padrão; consulte esse problema para obter mais informações.

Você deve conseguir fazer isso, substituindo o host e a porta pelos seus:

docker pull localhost:5000/registry-demo

Se o servidor for remoto / tiver autenticação, pode ser necessário fazer login no servidor com:

docker login https://<YOUR-DOMAIN>:8080

Em seguida, executando:

docker pull <YOUR-DOMAIN>:8080/test-image

Por padrão, se eu emitir o comando:

sudo docker pull ruby:2.2.1

ele será retirado do site oficial do docker.io por padrão.

Pulling repository docker.io/library/ruby

Como faço para alterá-lo para meu registro particular. Isso significa que se eu emitir

sudo docker pull ruby:2.2.1

ele puxará do meu próprio registro privado, a saída é algo como:

Pulling repository my_private.registry:port/library/ruby

Acontece que isso é realmente possível, mas não usando a versão original do Docker CE ou EE.

Você pode usar o fork do docker da Red Hat com o sinalizador '--add-registry' ou criar o docker a partir da fonte com o registro / config.go modificado para usar seu próprio espaço para nome / índice de registro padrão embutido no código.


Anteriormente, isso era possível usando DOCKER_OPTS no arquivo de configuração /etc/default/docker que funcionava no Ubuntu 14:04 e apresentava alguns issues no Ubuntu 15:04. Não tenho certeza se isso foi corrigido.

A linha abaixo precisa ir para o arquivo /etc/default/docker no host que executa o daemon do docker. Os pontos de alteração no registro privado estão instalados na sua rede local. Nota: você precisaria reiniciar o serviço docker seguido por essa alteração.

DOCKER_OPTS="--insecure-registry <priv registry hostname/ip>:<port>"

Estou adicionando a resposta original dada por Guy, que ainda é válida hoje (em breve em 2020).

Substituir o registro do docker padrão, como você faria com o maven , não é realmente uma boa prática.

Ao usar o maven , você obtém artefatos do Maven Central Repository através do sistema de gerenciamento de repositório local que atuará como proxy. Esses artefatos são bibliotecas simples e brutas (jars) e é muito improvável que você empurre jars com o mesmo nome.

Por outro lado, as imagens do docker são ambientes totalmente operacionais, executáveis ​​e fazem todo o sentido extrair uma imagem do Docker Hub, modificá-la e enviar essa imagem ao sistema de gerenciamento de registro local com o mesmo nome, porque é exatamente como o nome diz, apenas no contexto da sua empresa. Nesse caso, a única distinção entre as duas imagens seria precisamente o seu caminho !!

Portanto, a necessidade de definir a seguinte regra: o prefixo de uma imagem indica sua origem; por padrão, se uma imagem não tiver um prefixo, ela é extraída do Docker Hub.


se você estiver usando a distro do fedora, poderá alterar o arquivo

/etc/containers/registries.conf

Adicionando domínio docker.io





docker-registry