1. 配置客户端,以使得客户端可以连接harbor
- 装完harbor后,我们来试一下从服务器A连接harbor,提示:Error response from daemon: Get https://172.20.246.14:8858/v2/: http: server gave HTTP response to HTTPS client
[root@k8s-node1 ~] # docker pull 172.20.246.14:8858/matrix/medusa.service.platform:v4.1.0.0 Error response from daemon: Get https: //172 .20.246.14:8858 /v2/ : http: server gave HTTP response to HTTPS client |
- 原因分析:docker registry未采用https服务,而客户端docker使用https请求push所致
- 解决方案:
docker客户端将https请求更改为http请求, 将以下配置添加到 /etc/docker/daemon.json 中,如果没有daemon.json文件,就新增一个。同时写如以下配置
{ "insecure-registries":["172.20.246.14:8858"] }
注意: 该配置是配置在docker客户端,让docker客户端以不安全的http请求访问docker registry,ip以及端口填写的是提供服务容器的ip以及端口。
-
增加配置文件后,重启docker服务
service docker restart |
2.推送镜像到harbor中
- 打tag
docker tag medusa.service.platform:v4.1.0.0 172.20.246.14:8858 /matrix/medusa .service.platform:v4.1.0.0 |
- 推送镜像
docker push 172.20.246.14:8858 /matrix/medusa .service.platform:v4.1.0.0 |
3.如果推送失败提示:unauthorized: unauthorized to access repository:
docker login 172.20 . 246.14 : 8858 然后提示输入账号密码 |
4.拉取镜像
docker pull 172.20.246.14:8858 /matrix/medusa .service.platform:v4.1.0.0 |