docker login 登录 Harbor

安装好 Harbor 后如果没有启用 https 直接登录会报错

1
2
3
4
[root@test-10-104-6-213 ~]# docker login 10.104.6.214
Username: admin
Password:
Error response from daemon: Get https://10.104.6.214/v2/: dial tcp 10.104.6.214:443: connect: connection refused

修改 daemon.json(如果没有就新建一个)

1
vim /etc/docker/daemon.json

增加或修改内容如下

1
2
3
{
"insecure-registries":["10.104.6.214"]
}

重启 docker 服务

1
systemctl restart docker

重新尝试登录

1
2
3
4
[root@test-10-104-6-213 ~]# docker login 10.104.6.214
Username: admin
Password:
Error response from daemon: Get http://10.104.6.214/v2/: Get http://harbor-test-reg.mydomain.com/service/token?account=admin&client_id=docker&offline_token=true&service=harbor-registry: dial tcp: lookup harbor-test-reg.mydomain.com on 172.16.30.212:53: no such host

如果出现类似错误是应为没有找到 harbor-test-reg.mydomain.com 这个域名。
我这里并不存在这个域名,所以修改 /etc/hosts,增加一个条目

1
10.104.6.214 harbor-test-reg.mydomain.com

再次尝试登录

1
2
3
4
5
6
7
8
[root@test-10-104-6-213 ~]# docker login 10.104.6.214
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

登录成功

推送本地镜像到 Habor

登录成功后就可以推送镜像啦

1
2
3
4
# 给本地 node:12.17 打一个 tag
docker tag node:12.17 10.104.6.214/node:12.17
# 推送到 Harbor
docker push 10.104.6.214/node:12.17