Eu tenho um docker 1.12 rodando no CentOS. Estou tentando adicionar um registro inseguro a ele e as coisas mencionadas na documentação simplesmente não funcionam. O sistema usa systemd
então criei um /etc/systemd/system/docker.service.d/50-insecure-registry.conf
arquivo.
$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"'
Depois de carregar o daemon e reiniciar o serviço docker, o systemd mostra que a variável de ambiente está lá
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
Mas quando eu executo docker info
, não vejo aquele registro inseguro adicionado
$ docker info
........
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled
Insecure Registries:
127.0.0.0/8
Enviar imagens para hostaneme.cloudapp.net
falhar com
Pushing application (hostname.cloudapp.net:5000/application:latest)...
The push refers to a repository [hostname.cloudapp.net:5000/mozart_application]
ERROR: Get https://hostname.cloudapp.net:5000/v1/_ping: http: server gave HTTP response to HTTPS client
Existe algo que poderia ser feito? Estou esquecendo de algo ?
ATUALIZAR
Resolvido o problema adicionando um arquivo /etc/docker/daemon.json
com o seguinte conteúdo
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
E então reinicie o docker
sudo systemctl daemon-reload
sudo systemctl restart docker
Depois que o registro inseguro hostname.cloudapp.net:500
funcionar.
fonte
Respostas:
(Copiando a resposta da pergunta)
Para adicionar um registro docker inseguro, adicione o arquivo
/etc/docker/daemon.json
com o seguinte conteúdo:e reinicie o docker.
fonte
/etc/sysconfig/docker
como uma das opções, por exemplo, de uma instalação Openshift:OPTIONS='--insecure-registry=172.30.0.0/16 --others [...]'
Em Suse-likes eu não sei.daemon.json
versão do arquivo. Obrigado!/etc/docker/daemon.json
funciona bem.Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
@mattCriar o arquivo /etc/docker/daemon.json, adicionar o conteúdo abaixo e reiniciar o docker no CentOS 7 resolveu o problema.
fonte
A solução com o
/etc/docker/daemon.json
arquivo não funcionou para mim no Ubuntu.Consegui configurar registros inseguros do Docker no Ubuntu, fornecendo opções de linha de comando para o daemon do Docker no
/etc/default/docker
arquivo, por exemplo:Da mesma forma, pode ser usado para configurar o diretório personalizado para imagens docker e armazenamento de volumes, servidores DNS padrão, etc.
Agora, depois que o daemon do Docker for reiniciado (após a execução
sudo service docker restart
), a execuçãodocker info
mostrará:fonte
Para mim, a solução foi adicionar o registro aqui:
/ etc / sysconfig / docker-registries
fonte
Se você já tem um arquivo config.json, o arquivo final deve ser parecido com isso ... Aqui
registry.myprivate.com
está o que estava me causando problemas.{ "auths": { "https://index.docker.io/v1/": { "auth": "xxxxxxxxxxxxxxxxxxxx==" }, "registry.myprivate.com": { "auth": "xxxxxxxxxxxxxxxxxxxx=" } }, "HttpHeaders": { "User-Agent": "Docker-Client/19.03.8 (linux)" }, "insecure-registries" : ["registry.myprivate.com"] }
fonte
Acontece que eu encontrei um tipo de problema semelhante após configurar o registro privado JFrog Docker interno local no Amazon Linux.
O que fiz para resolver o problema:
Adicionado "--insecure-registry xx.xx.xx.xx: 8081" modificando a variável OPTIONS no arquivo / etc / sysconfig / docker:
OPTIONS = "- default-ulimit nofile = 1024: 40961 - nome do host de registro inseguro: 8081"
Em seguida, reiniciou a janela de encaixe.
Consegui então fazer login no registro docker local usando:
docker login -u admin -p senha hostname: 8081
fonte