Docker Jenkins正在从本地注册表中提取映像:客户端。等待标头时超时
我正在我的计算机上本地运行docker注册表,我可以成功地从中提取图像:Docker Jenkins正在从本地注册表中提取映像:客户端。等待标头时超时,docker,jenkins,docker-registry,Docker,Jenkins,Docker Registry,我正在我的计算机上本地运行docker注册表,我可以成功地从中提取图像: docker pull 192.168.174.205:5001/myimg:latest 我还在我的机器上运行jenkins容器,但jenkins无法从本地注册表中提取任何图像。我使用蓝色海洋容器(在同一台机器上)启动管道,它输出: + docker pull 192.168.174.205:5001/insureio:latest Error response from daemon: Get https://192
docker pull 192.168.174.205:5001/myimg:latest
我还在我的机器上运行jenkins容器,但jenkins无法从本地注册表中提取任何图像。我使用蓝色海洋容器(在同一台机器上)启动管道,它输出:
+ docker pull 192.168.174.205:5001/insureio:latest
Error response from daemon: Get https://192.168.174.205:5001/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
script returned exit code 1
TMI 规格
- Docker版本1.13.1,构建4ef4b30/1.13.1
- 詹金斯。2.204.2
- 主机CentOS Linux 7(核心)
/etc/docker/daemon.json
文件读取{“不安全的注册表”:[“192.168.174.205:5001”]}
本地注册表给出200响应:
curl http://192.168.174.205:5001/v2/_catalog
{"repositories":["mying"]}
我的管道脚本是:
node {
stage('Build') {
docker.withRegistry('http://192.168.174.205:5001') {
docker.image('insureio:latest').inside('') {
sh 'make test'
}
}
}
}
由于Jenkins和您的注册表都是容器,Jenkins将在其自己的网络空间中查看192.168.174.205 IP地址
如果您只是想尝试一下,我建议您使用
docker inspect | grep-I ipaddress
查找其IP地址(默认情况下,它应该位于172.17.XXX.XXX区域),并配置您的管道以使用该地址。非常感谢,但是有了这个更改,我从守护进程获得错误响应:gethttps://172.17.0.2:5001/v2/: 拨打tcp 172.17.0.2:5001:连接:没有到主机的路由
。你知道可能是什么问题吗?我看到它试图进行https
连接?一种更快的调试方法是在jenkins容器上获得一个shell,类似于docker exec-it sh
并从容器中运行各种curl
命令。