Подтвердить что ты не робот

Разрешить небезопасный реестр в хосте, предоставленном док-машиной

В любом случае необходимо настроить - allow-insecure-ssl для docker deamon, созданного с помощью докер-машины.

команды:

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

выход:

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 arguments. In the case of HTTPS, if you have access to the 
registry CA certificate, no need for the flag; simply place the CA 
certificate at /etc/docker/certs.d/myregistry:5000/ca.crt
4b9b3361

Ответ 1

Если вы используете стабилизатор версии docker-machine версии v0.2, вы не можете легко установить опцию докера. Но в следующей версии v0.3 эта проблема была решена с параметрами создания.

В этот момент это работает на RC1, затем вы можете использовать версию v0.3.0-RC-1 или дождаться доставки следующей стабильной версии v0.3.0 (предварительно 16 июня).

Затем используйте параметр --engine-insecure-registry для установки --allow-insecure-ssl для демона докеров, например:

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

После этого вы можете выполнить:

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

Кроме того, вы можете прочитать об этом в проекте doc.

Ответ 2

Если вы хотите добавить незащищенные реестры на уже созданную докер-машину, вы можете обновить профиль на работающей виртуальной машине докера.

меры

  1. SSH в вашу локальную док-ВМ.
    примечание: если "default" не является именем вашего докера, то замените "default" на имя вашего докера
    $ docker-machine ssh {machineName}

  2. Открыть профиль Docker
    $ sudo vi/var/lib/boot2docker/profile

  3. Добавьте эту строку в конец файла профиля. Если EXTRA_ARGS уже существует, добавьте незащищенный флаг реестра в EXTRA_ARGS. Замените в пути к вашим реестрам.

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

  4. Сохраните изменения профиля и выйдите из докера-машины bash обратно на свой компьютер. Затем перезапустите виртуальную машину Docker, подставив в нее имя вашего компьютера.
    $ docker-machine restart {machineName}

  5. Потяните или вытолкните что-нибудь из вашего реестра, чтобы убедиться, что оно работает

Моя настройка

версия докера-машины: 0.6.0, сборка e27fb87
драйвер докера-машины: virtualbox

Ответ 4

env:

  • docker daemon: 1.12.3
  • клиент-докер: 1.12.2
  • docker api: 1.24
  • докер-машина: 0.8.2

Перед созданием машины

вы можете использовать args для установки одного или нескольких небезопасных зеркал реестра и реестра .eg:

один реестр

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

несколько реестров

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

После создания машины

вы можете отредактировать файл /var/lib/boot 2docker/profile, чтобы добавить реестры и зеркала

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

добавить реестр и зеркала в 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

теперь вам нужно перезагрузить машину и проверить ее

docker-machine restart [machine-name] 
docker info 

этот метод не работает после создания машины

изменить $USER/.docker/machine/machines/default/config.json

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

Ответ 5

изменить $USER/.docker/machine/machines/default/config.json

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