Est-il possible de configurer - - allow-insecure-ssl pour le démon docker créé avec docker-machine.
commandes:
docker-machine create --driver virtualbox dev
eval "$(docker-machine env dev)"
docker run myregistry:5000/busybox:latest echo 'hello world'
sortie:
Unable to find image 'myregistry:5000/busybox:latest' locally
2015/06/04 16:54:17 Error: v1 ping attempt failed with error: Get
https://myregistry:5000/v1/_ping: EOF. If this private
registry supports only HTTP or HTTPS with an unknown CA certificate,
please add `--insecure-registry myregistry:5000` to the
daemon's arguments. In the case of HTTPS, if you have access to the
registry's CA certificate, no need for the flag; simply place the CA
certificate at /etc/docker/certs.d/myregistry:5000/ca.crt
Si vous exécutez la version docker-machine v0.2 stable, vous ne pouvez pas définir l'option docker de manière légère. Mais dans la prochaine version v0.3, ce problème a été résolu avec les paramètres de création.
En ce moment, cette fonctionnalité est sur RC1, alors vous pouvez utiliser une version v0.3.0-RC-1 ou attendre la livraison de la prochaine version stable v0.3.0 (provisoirement le 16 juin).
Utilisez ensuite le paramètre --engine-insecure-registry
mettre en place --allow-insecure-ssl
pour le démon de docker, par exemple:
docker-machine create --driver virtualbox --engine-insecure-registry myregistry:5000 dev
Après cela, vous pouvez exécuter:
docker run myregistry:5000/busybox:latest echo 'hello world'
De plus, vous pouvez lire à ce sujet sur doc de projet .
Si vous souhaitez ajouter des registres non sécurisés à un docker-machine déjà créé, vous pouvez mettre à jour le profil dans la VM docker en cours d'exécution.
SSH dans votre VM Docker locale.
note: si 'default' n'est pas le nom de votre machine docker alors remplacez 'default' par le nom de votre machine docker $ docker-machine ssh {machineName}
Ouvrir le profil Docker$ Sudo vi /var/lib/boot2docker/profile
Ajoutez cette ligne au bas du fichier de profil. Si EXTRA_ARGS existe déjà, ajoutez l'indicateur de registre non sécurisé à EXTRA_ARGS. Remplacez dans le chemin [s] de vos registres.
EXTRA_ARGS=" --insecure-registry myserver.pathTo.registry1:5000 --insecure-registry myserver.pathTo.registry2:5000 --insecure-registry myserver.pathTo.registry3:5000 "
Enregistrez les modifications de profil et "quittez" le bash docker-machine vers votre machine. Redémarrez ensuite Docker VM en remplaçant le nom de votre machine docker$ docker-machine restart {machineName}
Tirez ou poussez quelque chose de votre registre pour vous assurer qu'il fonctionne
version docker-machine: 0.6.0, build e27fb87
pilote docker-machine: virtualbox
Si vous souhaitez ajouter un autre registre une fois votre docker-machine déjà créé, vous devrez éditer le fichier de configuration: vim ~/.docker/machine/machines/dev/config.json
Expliqué ici: https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/
env:
Avant de créer la machine
vous pouvez utiliser les arguments pour définir un ou plusieurs miroirs de registre et de registre non sécurisés .eg:
n registre
docker-machine create -d virtualbox --engine-insecure-registry hostname:5000 --engine-registry-mirror http://hostname:5000 n1
registres multiples
docker-machine create -d virtualbox --engine-insecure-registry hostname:5000 --engine-insecure-registry hostname:5001 --engine-registry-mirror http://hostname:5000 n1
Après avoir créé la machine
vous pouvez modifier le profil/var/lib/boot2docker/pour ajouter les registres et les miroirs
docker-machine ssh [machine-name]
vi /var/lib/boot2docker/profile
ajouter le registre et les miroirs à EXTRA_ARGS
EXTRA_ARGS='
--label provider=virtualbox
--insecure-registry hostname:5000
--insecure-registry hostname:5001
--registry-mirror http://hostname:5000
--registry-mirror http://hostname:5001
vous devez maintenant redémarrer la machine et la vérifier
docker-machine restart [machine-name]
docker info
cette méthode ne fonctionne pas après avoir créé la machine
modifier $ USER/.docker/machine/machines/default/config.json
"EngineOptions": {
"InsecureRegistry": [
"XXX.XXX.virtual"
],
}
modifier $ USER/.docker/machine/machines/default/config.json
"EngineOptions": {
"InsecureRegistry": [
"XXX.XXX.virtual"
],
}