2024年1月8日

docker镜像上传Harbor

作者 高劲松

一、解决Login问题

[root@node1 harbor]# docker login 192.168.68.129
Username: gaojs
Password:
Error response from daemon: Get “https://192.168.68.129/v2/”: dial tcp 192.168.68.129:443: connect: connection refused
[root@node1 harbor]# ls
common common.sh docker-compose.yml harbor.yml harbor.yml.tmpl install.sh LICENSE prepare

[root@node1 harbor]# docker login -u admin -p Harbor12345 192.168.68.129
WARNING! Using –password via the CLI is insecure. Use –password-stdin.
Error response from daemon: Get “https://192.168.68.129/v2/”: dial tcp 192.168.68.129:443: connect: connection refused
[root@node1 harbor]# vim /usr/lib/systemd/system/docker.service
-bash: vim: command not found
[root@node1 harbor]# yum install vim -y
Installed:
vim-enhanced.x86_64 2:7.4.629-8.el7_9

Dependency Installed:
gpm-libs.x86_64 0:1.20.7-6.el7 vim-common.x86_64 2:7.4.629-8.el7_9 vim-filesystem.x86_64 2:7.4.629-8.el7_9

Complete!
[root@node1 harbor]# vim /usr/lib/systemd/system/docker.service

添加 –insecure-registry=192.168.68.129 配置
在这个位置:ExecStart=/usr/bin/dockerd –insecure-registry=192.168.68.129 //重要

[root@node1 harbor]# systemctl daemon-reload
[root@node1 harbor]# systemctl restart docker
[root@node1 harbor]# docker-compose restart
Restarting harbor-jobservice … done
Restarting nginx … done
Restarting harbor-core … done
Restarting harbor-portal … done
Restarting registryctl … done
Restarting harbor-db … done
Restarting registry … done
Restarting redis … done
Restarting harbor-log … done
[root@node1 harbor]# ps -aux | grep docker
root 24148 1.9 6.1 1575808 61012 ? Ssl 02:26 0:00 /usr/bin/dockerd –insecure-registry=192.168.68.129 -H fd:// –containerd=/run/containerd/containerd.sock
root 24621 0.0 0.1 817580 1908 ? Sl 02:26 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 80 -container-ip 172.19.0.5 -container-port 8080
root 24626 0.0 0.1 817580 1908 ? Sl 02:26 0:00 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 80 -container-ip 172.19.0.5 -container-port 8080
root 25248 0.0 0.1 817580 1904 ? Sl 02:26 0:00 /usr/bin/docker-proxy -proto tcp -host-ip 127.0.0.1 -host-port 1514 -container-ip 172.19.0.4 -container-port 10514
root 25328 0.0 0.0 112816 980 pts/0 S+ 02:26 0:00 grep –color=auto docker
[root@node1 harbor]# docker login -u admin -p Harbor12345 192.168.68.129
WARNING! Using –password via the CLI is insecure. Use –password-stdin.
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
[root@node1 harbor]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
goharbor/redis-photon v2.4.0 8db1d1af9272 2 years ago 155MB
goharbor/harbor-registryctl v2.4.0 7cb8dd808259 2 years ago 136MB
goharbor/registry-photon v2.4.0 928dc0fba05c 2 years ago 78.5MB
192.168.68.129/library/redis-photon V2.4.0 a2592618911d 2 years ago 45MB
goharbor/nginx-photon v2.4.0 a2592618911d 2 years ago 45MB
goharbor/harbor-log v2.4.0 a54fed3c39f6 2 years ago 159MB
goharbor/harbor-jobservice v2.4.0 cd119b9530dd 2 years ago 220MB
goharbor/harbor-core v2.4.0 3399864a55e2 2 years ago 197MB
goharbor/harbor-portal v2.4.0 f585c7a62e69 2 years ago 54MB
goharbor/harbor-db v2.4.0 de4b1b67e241 2 years ago 228MB
goharbor/prepare v2.4.0 5216fde1e4e8 2 years ago 254MB

[root@node1 harbor]# docker tag 192.168.68.129/library/redis-photon:V2.4.0 my-images:1.0
[root@node1 harbor]#
[root@node1 harbor]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
goharbor/redis-photon v2.4.0 8db1d1af9272 2 years ago 155MB
goharbor/harbor-registryctl v2.4.0 7cb8dd808259 2 years ago 136MB
goharbor/registry-photon v2.4.0 928dc0fba05c 2 years ago 78.5MB
192.168.68.129/library/redis-photon V2.4.0 a2592618911d 2 years ago 45MB
goharbor/nginx-photon v2.4.0 a2592618911d 2 years ago 45MB
my-images 1.0 a2592618911d 2 years ago 45MB
goharbor/harbor-log v2.4.0 a54fed3c39f6 2 years ago 159MB
goharbor/harbor-jobservice v2.4.0 cd119b9530dd 2 years ago 220MB
goharbor/harbor-core v2.4.0 3399864a55e2 2 years ago 197MB
goharbor/harbor-portal v2.4.0 f585c7a62e69 2 years ago 54MB
goharbor/harbor-db v2.4.0 de4b1b67e241 2 years ago 228MB
goharbor/prepare v2.4.0 5216fde1e4e8 2 years ago 254MB
[root@node1 harbor]# docker push my-images:1.0
The push refers to repository [docker.io/library/my-images]
9124c2238781: Preparing
837f724ff5fa: Preparing
denied: requested access to the resource is denied
[root@node1 harbor]#

二、解决Push问题

[root@node1 harbor]# docker tag my-images:1.0 192.168.68.129/library/my-images:1.1
[root@node1 harbor]#
[root@node1 harbor]# docker push 192.168.68.129/library/my-images:1.1
The push refers to repository [192.168.68.129/library/my-images]
9124c2238781: Pushed
837f724ff5fa: Pushed
1.1: digest: sha256:ccbe224299574bf5a7b9864ea48d3fc72076b5546e9aa664f8766ec78e1a5db7 size: 740
[root@node1 harbor]# docker tag my-images:1.0 192.168.68.129/library/my-images:1.2
[root@node1 harbor]# docker push 192.168.68.129/library/my-images:1.2
The push refers to repository [192.168.68.129/library/my-images]
9124c2238781: Layer already exists
837f724ff5fa: Layer already exists
1.2: digest: sha256:ccbe224299574bf5a7b9864ea48d3fc72076b5546e9aa664f8766ec78e1a5db7 size: 740
[root@node1 harbor]#

遵守命名规范,方可上传成功