J'ai un docker 1.12 fonctionnant sur CentOS. J'essaie d'y ajouter un registre non sécurisé et les éléments mentionnés dans la documentation ne fonctionnent tout simplement pas. Le système utilise systemd
et j'ai donc créé un fichier /etc/systemd/system/docker.service.d/50-insecure-registry.conf
.
$ 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 indique que la variable d'environnement est présente.
$ Sudo systemctl show docker | grep Env
Environment=DOCKER_OPTS=--insecure-registry="hostname.cloudapp.net:5000"
Mais quand je lance 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
L'envoi d'images à 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?
UPDATE
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émarrer docker
Sudo systemctl daemon-reload
Sudo systemctl restart docker
Après cela, le registre non sécurisé hostname.cloudapp.net:500
fonctionne.
(Copie de la réponse d'une question)
Pour ajouter un registre de menu fixe non sécurisé, ajoutez le fichier /etc/docker/daemon.json
avec le contenu suivant:
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
puis redémarrez docker.
La création du fichier /etc/docker/daemon.json et l'ajout du contenu ci-dessous, puis le redémarrage du menu fixe sur CentOS 7 ont résolu le problème.
{
"insecure-registries" : [ "hostname.cloudapp.net:5000" ]
}
La solution avec le fichier /etc/docker/daemon.json
ne fonctionnait pas pour moi sur Ubuntu.
J'ai pu configurer des registres non sécurisés Docker sur Ubuntu en fournissant des options de ligne de commande au démon Docker dans le fichier /etc/default/docker
, par exemple:
# /etc/default/docker
DOCKER_OPTS="--insecure-registry=a.example.com --insecure-registry=b.example.com"
La même manière peut être utilisée pour configurer un répertoire personnalisé pour le stockage d'images et de volumes de docker, les serveurs DNS par défaut, etc.
Maintenant, après le redémarrage du démon Docker (après l'exécution de Sudo service docker restart
), l'exécution de docker info
indiquera:
Insecure Registries:
a.example.com
b.example.com
127.0.0.0/8