J'ai un docker 1.12 fonctionnant sur CentOS. J'essaie d'ajouter un registre non sécurisé et les choses mentionnées dans la documentation ne fonctionnent tout simplement pas. Le système utilise systemd
donc j'ai créé un /etc/systemd/system/docker.service.d/50-insecure-registry.conf
fichier.
$ cat /etc/systemd/system/docker.service.d/50-insecure-registry.conf
[Service]
Environment='DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"'
Après le chargement du démon et le redémarrage du service docker, systemd montre que la variable d'environnement est là
$ sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
Mais quand je cours, docker info
je ne vois pas ce registre non sécurisé ajouté
$ 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
Pousser les images vers hostaneme.cloudapp.net
échoue avec
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
Y a-t-il quelque chose qui pourrait être fait? Est-ce que je manque quelque chose?
METTRE À JOUR
Résolution du problème en ajoutant un fichier /etc/docker/daemon.json
avec le contenu suivant
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
Et puis redémarrez docker
sudo systemctl daemon-reload
sudo systemctl restart docker
Après que le registre non sécurisé hostname.cloudapp.net:500
fonctionne.
la source
Réponses:
(Copie de la réponse à la question)
Pour ajouter un registre Docker non sécurisé, ajoutez le fichier
/etc/docker/daemon.json
avec le contenu suivant:puis redémarrez le docker.
la source
/etc/sysconfig/docker
comme l'une des options, par exemple à partir d'une installation OpenShift:OPTIONS='--insecure-registry=172.30.0.0/16 --others [...]'
Sur Suse-likes, je ne sais pas.daemon.json
version du fichier. Merci!/etc/docker/daemon.json
fonctionne correctement.Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
@mattLa création du fichier /etc/docker/daemon.json et l'ajout du contenu ci-dessous, puis le redémarrage du docker sur CentOS 7 ont résolu le problème.
la source
La solution avec le
/etc/docker/daemon.json
fichier n'a pas fonctionné pour moi sur Ubuntu.J'ai pu configurer des registres non sécurisés de Docker sur Ubuntu en fournissant des options de ligne de commande au démon Docker dans un
/etc/default/docker
fichier, par exemple:La même méthode peut être utilisée pour configurer un répertoire personnalisé pour les images Docker et le stockage des volumes, les serveurs DNS par défaut, etc.
Maintenant, après le redémarrage du démon Docker (après l'exécution
sudo service docker restart
), l'exécutiondocker info
affichera:la source
Pour moi, la solution était d'ajouter le registre ici:
/ etc / sysconfig / docker-registries
la source
Si vous avez déjà un fichier config.json alors le fichier final devrait ressembler à quelque chose comme ça ... Voici
registry.myprivate.com
celui qui me posait des problèmes.{ "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"] }
la source
Il m'est arrivé de rencontrer un type de problème similaire après la configuration du registre privé interne local de JFrog Docker sur Amazon Linux.
Les actions suivantes que j'ai faites pour résoudre le problème:
Ajout de "--insecure-registry xx.xx.xx.xx: 8081" en modifiant la variable OPTIONS dans le fichier / etc / sysconfig / docker:
Puis redémarré le docker.
J'ai ensuite pu me connecter au registre docker local en utilisant:
la source