无论如何都要为docker-machine创建的docker's deamon配置 - allow-insecure-ssl 。
命令:
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
答案 0 :(得分:40)
如果您正在运行docker-machine version v0.2 stable,则无法轻松设置docker选项。但是在下一版本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上阅读相关内容。
答案 1 :(得分:29)
如果要将不安全的注册表添加到已创建的docker-machine,您可以更新正在运行的docker VM中的配置文件。
SSH进入本地docker VM
注意:如果'default'不是您的泊坞机的名称,那么用您的泊坞机名称替换'default'
$ docker-machine ssh default
打开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 version: 0.6.0,构建e27fb87
docker-machine driver: virtualbox
答案 2 :(得分:9)
如果您想在已创建docker-machine后添加另一个注册表,则必须编辑配置文件: vim~ / .docker / machine / machines / dev / config.json
在此解释:https://akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/
答案 3 :(得分:4)
编辑$ USER / .docker / machine / machines / default / config.json
"EngineOptions": {
"InsecureRegistry": [
"XXX.XXX.virtual"
],
}
答案 4 :(得分:4)
env:
创建机器之前
您可以使用args设置一个或多个不安全的注册表和注册表镜像.eg:
一个注册表
INotyfyPropertyChanged
多个注册
docker-machine create -d virtualbox --engine-insecure-registry hostname:5000 --engine-registry-mirror http://hostname:5000 n1
创建机器后
你可以编辑/ var / lib / boot2docker / profile来添加注册表和镜像
docker-machine create -d virtualbox --engine-insecure-registry hostname:5000 --engine-insecure-registry hostname:5001 --engine-registry-mirror http://hostname:5000 n1
将注册表和镜像添加到EXTRA_ARGS
docker-machine ssh [machine-name]
vi /var/lib/boot2docker/profile
现在你需要重新启动机器并检查它
EXTRA_ARGS='
--label provider=virtualbox
--insecure-registry hostname:5000
--insecure-registry hostname:5001
--registry-mirror http://hostname:5000
--registry-mirror http://hostname:5001
这个方法在创建机器后不起作用
编辑$ USER / .docker / machine / machines / default / config.json
docker-machine restart [machine-name]
docker info