Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在不受控制的CI环境中连接到不安全的本地docker注册表_Docker_Testing_Continuous Integration_Docker Registry - Fatal编程技术网

在不受控制的CI环境中连接到不安全的本地docker注册表

在不受控制的CI环境中连接到不安全的本地docker注册表,docker,testing,continuous-integration,docker-registry,Docker,Testing,Continuous Integration,Docker Registry,我正在构建一个在docker注册表上执行操作的微服务 我正在构建的微服务有一个测试,它通过启动docker注册表,所以微服务可以连接到它,设置它,处理它等等 CI中的测试失败:Docker客户端无法连接到测试注册表,因为它不安全。这是在CI中,每次都是动态的、不同的随机ip/端口,docker守护进程被其他并行测试使用。。。因此,让测试编辑全局JSON并重新启动docker守护进程似乎是一个糟糕的解决方案 有人解决了这个问题吗?如何在CI中测试与docker注册表的集成?我是否注定要修改全局do

我正在构建一个在docker注册表上执行操作的微服务

我正在构建的微服务有一个测试,它通过启动docker注册表,所以微服务可以连接到它,设置它,处理它等等

CI中的测试失败:Docker客户端无法连接到测试注册表,因为它不安全。这是在CI中,每次都是动态的、不同的随机ip/端口,docker守护进程被其他并行测试使用。。。因此,让测试编辑全局JSON并重新启动docker守护进程似乎是一个糟糕的解决方案

有人解决了这个问题吗?如何在CI中测试与docker注册表的集成?我是否注定要修改全局docker JSON并重新启动/触发配置的重新加载

一些细节:
构建工具是Bazel,在GCB中运行,因此测试本身在谷歌云上的RBE workers中运行,这是隔离的,在运行测试时没有网络访问权限,我不能配置太多,它不是我的机器,每次测试等时,它都是一台radon机器。

我们最后启动了另一个容器,其中有一个docker守护进程(没有安装外部docker守护进程套接字,因此它实际上是另一个docker守护进程实例)

我们在空闲时做这件事,所以只有在我们知道私有注册表地址并配置docker守护进程以使用不安全的注册表标志启动之后

为了让容器通信,我们让它们的容器有一个名称并共享一个网络