とにかく構成する必要があります-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
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 でそれについて読むことができます。
既に作成されているdocker-machineに安全でないレジストリを追加する場合は、実行中のdocker VMでプロファイルを更新できます。
ローカルのdocker VMにSSHで接続します。
注:「デフォルト」がドッカーマシンの名前でない場合は、「デフォルト」をドッカーマシンの名前に置き換えます$ docker-machine ssh {machineName}
Dockerプロファイルを開く$ Sudo vi /var/lib/boot2docker/profile
この行をプロファイルファイルの最後に追加します。 EXTRA_ARGSが既に存在する場合、安全でないレジストリフラグをEXTRA_ARGSに追加します。レジストリへのパスに置き換えてください。
EXTRA_ARGS=" --insecure-registry myserver.pathTo.registry1:5000 --insecure-registry myserver.pathTo.registry2:5000 --insecure-registry myserver.pathTo.registry3:5000 "
プロファイルの変更を保存し、Docker-machine bashから「終了」してマシンに戻します。次に、Dockerを再起動しますVM docker-machine名に置き換えます$ docker-machine restart {machineName}
レジストリから何かをプルまたはプッシュして、機能することを確認します
docker-machineバージョン: 0.6.0、ビルドe27fb87
docker-machine driver: virtualbox
Docker-machineが作成された後に別のレジストリを追加する場合は、構成ファイルvim〜/ .docker/machine/machines/dev/config.jsonを編集する必要があります。
ここで説明: https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/
env:
マシンを作成する前に
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"
],
}
$ USER/.docker/machine/machines/default/config.jsonを編集します
"EngineOptions": {
"InsecureRegistry": [
"XXX.XXX.virtual"
],
}