web-dev-qa-db-ja.com

docker-machineでプロビジョニングされたホストで安全でないレジストリを許可する

とにかく構成する必要があります-allow-insecure-ssl docker-machineで作成されたdockerのデーモンに対して。

コマンド:

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'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

Docker-machineバージョンv0.2安定版を実行している場合、ドッカーオプションを簡単に設定することはできません。しかし、次のバージョンv0.3では、この問題は作成パラメーターで解決されました。

現時点では、この機能はRC1にあり、バージョン v0.3.0-RC-1 を使用するか、次の安定バージョンv0.3.0(仮にJun.16)の配信を待つことができます。

次に、パラメーター--engine-insecure-registryを使用して、Dockerデーモンの--allow-insecure-sslを設定します。次に例を示します。

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

その後、次を実行できます。

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

さらに、 project doc でそれについて読むことができます。

42
kikicarbonell

既に作成されているdocker-machineに安全でないレジストリを追加する場合は、実行中のdocker VMでプロファイルを更新できます。

手順

  1. ローカルのdocker VMにSSHで接続します。
    注:「デフォルト」がドッカーマシンの名前でない場合は、「デフォルト」をドッカーマシンの名前に置き換えます
    $ 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. プロファイルの変更を保存し、Docker-machine bashから「終了」してマシンに戻します。次に、Dockerを再起動しますVM docker-machine名に置き換えます
    $ docker-machine restart {machineName}

  5. レジストリから何かをプルまたはプッシュして、機能することを確認します

私のセットアップ

docker-machineバージョン: 0.6.0、ビルドe27fb87
docker-machine driver: virtualbox

31
Fabian

Docker-machineが作成された後に別のレジストリを追加する場合は、構成ファイルvim〜/ .docker/machine/machines/dev/config.jsonを編集する必要があります。

ここで説明: https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/

9
Akram Ben Aissi

env:

  • ドッカーデーモン:1.12.3
  • dockerクライアント:1.12.2
  • docker API:1.24
  • docker-machine:0.8.2

マシンを作成する前に

argsを使用して、1つまたは複数の安全でないレジストリとレジストリミラーを設定できます。

1つのレジストリ

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

$ USER/.docker/machine/machines/default/config.jsonを編集します

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