permitir registro inseguro en host aprovisionado con docker-machine


¿Existe de todos modos para configurar allow allow-insecure-ssl para el deamon de docker creado con docker-machine?

Comandos:

docker-machine create --driver virtualbox dev 
eval "$(docker-machine env dev)"
docker run myregistry:5000/busybox:latest echo 'hello world'

Salida:

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
Author: kikicarbonell, 2015-06-05

5 answers

Si está ejecutando docker-machine versión v0.2 estable, no puede configurar la opción docker en modo ligero. Pero en la próxima versión v0. 3 este problema se resolvió con los parámetros de creación.

En este momento esta característica está en RC1,entonces puede usar una versión v0.3.0-RC-1 o esperar la entrega de la próxima versión estable v0.3.0(tentativamente Jun.16).

Luego use el parámetro --engine-insecure-registry para establecer --allow-insecure-ssl para el demonio de docker, por ejemplo:

docker-machine create --driver virtualbox --engine-insecure-registry myregistry:5000 dev

Después de eso puedes ejecutar:

docker run myregistry:5000/busybox:latest echo 'hello world'

Además puedes leer sobre ello en project doc.

 37
Author: kikicarbonell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-10-16 18:37:57

Si desea agregar registros inseguros a una máquina acoplable que ya está creada, puede actualizar el perfil en la máquina virtual acoplable en ejecución.

Pasos

  1. SSH en su VM docker local.
    nota: si' default ' no es el nombre de su máquina acoplable, sustituya 'default' por el nombre de su máquina acoplable
    $ docker-machine ssh default

  2. Abrir perfil de Docker
    $ sudo vi /var/lib/boot2docker/profile

  3. Agregue esta línea al final del archivo de perfil. If EXTRA_ARGS ya existe, agregue el indicador de registro inseguro a EXTRA_ARGS. Sustituya en la ruta de acceso a sus registros.

    EXTRA_ARGS=" --insecure-registry myserver.pathTo.registry1:5000 --insecure-registry myserver.pathTo.registry2:5000 --insecure-registry myserver.pathTo.registry3:5000 "

  4. Guarde los cambios de perfil y 'salga' de la bash de docker-machine en su máquina. A continuación, reinicie la sustitución de VM de Docker en el nombre de la máquina docker
    $ docker-machine restart {machineName}

  5. Tire o empuje algo de su registro para asegurarse de que funciona

Mi configuración

Docker - versión de máquina: 0.6.0, build e27fb87
docker-controlador de máquina: virtualbox

 24
Author: Fabian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-16 13:35:09

En caso de que desee agregar otro registro una vez que su docker-machine ya haya sido creado, tendrá que editar el archivo de configuración: vim ~/.docker / machine / machines/dev / config.json

Explicado aquí: https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/

 9
Author: Akram Ben Aissi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-17 08:35:10

Editar USER USER/.docker / machine / machines / default / config.json

    "EngineOptions": {
        "InsecureRegistry": [
            "XXX.XXX.virtual"
        ],
    }
 4
Author: wcc526,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-02 13:47:25

Env:

  • demonio docker: 1.12.3
  • cliente docker: 1.12.2
  • api de docker: 1.24
  • docker-machine: 0.8.2

Antes de crear máquina

Puede usar los args para establecer uno o varios registros inseguros y réplicas del registro. por ejemplo:

Un registro

docker-machine create -d virtualbox --engine-insecure-registry hostname:5000  --engine-registry-mirror http://hostname:5000 n1

Múltiples registros

docker-machine create -d virtualbox --engine-insecure-registry hostname:5000 --engine-insecure-registry hostname:5001  --engine-registry-mirror http://hostname:5000 n1

Después de crear la máquina

Puede editar el perfil/var/lib/boot2docker / para añadir los registrys y mirrors

docker-machine ssh [machine-name]
vi /var/lib/boot2docker/profile

Añade el registro y los mirrors a 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

Ahora necesita reiniciar la máquina y comprobarlo

docker-machine restart [machine-name] 
docker info 

Este método no funciona después de crear la máquina

Editar USER USER/.docker / machine / machines / default / config.json

"EngineOptions": {
    "InsecureRegistry": [
        "XXX.XXX.virtual"
    ],
}
 4
Author: RODNEY ZHANG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-12 09:32:34