web-dev-qa-db-fra.com

autoriser le registre non sécurisé dans l'hôte provisionné avec docker-machine

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
31
montells

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 .

42
kikicarbonell

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.

Pas

  1. 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}

  2. Ouvrir le profil Docker
    $ Sudo vi /var/lib/boot2docker/profile

  3. 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 "

  4. 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}

  5. Tirez ou poussez quelque chose de votre registre pour vous assurer qu'il fonctionne

Ma configuration

version docker-machine: 0.6.0, build e27fb87
pilote docker-machine: virtualbox

31
Fabian

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/

9
Akram Ben Aissi

env:

  • démon docker: 1.12.3
  • client docker: 1.12.2
  • docker api: 1.24
  • docker-machine: 0.8.2

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"
    ],
}
6
RODNEY ZHANG

modifier $ USER/.docker/machine/machines/default/config.json

    "EngineOptions": {
        "InsecureRegistry": [
            "XXX.XXX.virtual"
        ],
    }
4
wcc526