允许在docker-machineconfiguration的主机中存在不安全的registry
有没有办法为docker- deamonconfigurationdocker -machine使用–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
如果您正在运行docker机版本v0.2稳定,您不能设置docker选项。 但是在下一个版本v0.3中,这个问题已经被创build参数解决了。
此时此function在RC1上,那么您可以使用版本v0.3.0-RC-1或等待下一个稳定版本v0.3.0(初步Jun.16)的交付。
然后使用参数--engine-insecure-registry
为--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'
另外你可以在项目文档中阅读。
如果要将不安全的registry添加到已创build的docker-machine,则可以更新正在运行的docker VM中的configuration文件。
脚步
-
SSH到你的本地docker虚拟机。
注意:如果'默认'不是您的docker机器的名字,然后用您的docker机器名称replace'默认'
$ docker-machine ssh default
-
打开Dockerconfiguration文件
$ sudo vi /var/lib/boot2docker/profile
-
将此行添加到configuration文件的底部。 如果EXTRA_ARGS已经存在,请将不安全的registry标志添加到EXTRA_ARGS。 用path代替registry。
EXTRA_ARGS=" --insecure-registry myserver.pathTo.registry1:5000 --insecure-registry myserver.pathTo.registry2:5000 --insecure-registry myserver.pathTo.registry3:5000 "
-
保存configuration文件的变化,然后将docker-machine bash退出到您的机器。 然后重新启动Docker VM,replace您的docker-machine名称
$ docker-machine restart {machineName}
-
从您的registry中拉出或推送一些东西,以确保其正常工
我的设置
docker机版本: 0.6.0,编译e27fb87
docker机驱动程序: virtualbox
如果你想添加另一个registry,一旦你的docker-machine已经被创build,你将不得不编辑configuration文件:vim〜/ .docker / machine / machines / dev / config.json
在这里解释: https : //akrambenaissi.com/2015/11/17/addingediting-insecure-registry-to-docker-machine-afterwards/
env:
- docker守护进程:1.12.3
- docker客户端:1.12.2
- docker api:1.24
- docker机:0.8.2
在创build机器之前
您可以使用参数来设置一个或多个不安全的registry和registry镜像。例如:
一个registry
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
创build机器后
您可以编辑/ var / lib / boot2docker /configuration文件来添加registry和镜像
docker-machine ssh [machine-name] vi /var/lib/boot2docker/profile
将registry和镜像添加到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
这个方法在创build机器后不起作用
编辑$ USER / .docker / machine / machines / default / config.json
"EngineOptions": { "InsecureRegistry": [ "XXX.XXX.virtual" ], }
编辑$ USER / .docker / machine / machines / default / config.json
"EngineOptions": { "InsecureRegistry": [ "XXX.XXX.virtual" ], }
- Flocker如何在主机之间进行容器迁移时实现图像迁移
- 无法连接到使用Java API在本地虚拟机上运行的ElasticSearch Docker群集
- TERM环境variables未在Google Compute Engine上使用Docker进行设置
- .net核心docker图像与每个客户的应用程序设置
- 为什么从私人registry中拉出图像比原始图像小?
- 在Docker容器中更改非命名空间的内核参数
- Dockerfile错误,在运行docker上找不到“<filename>”
- 为了开发目的,需要“app / dist”作为卷的一部分时,不能在容器中生成“app / dist”
- CannotStartContainerError提交AWS批处理作业