版权声明:本文为博主原创文章,转载请指明地址。 https://blog.csdn.net/Mr_rsq/article/details/84847873
下载harbor,由于文件过大,下载会需要很长时间
[root@docker-node2 ~]# wget -q https://storage.googleapis.com/harbor-releases/release-1.6.0/harbor-offline-installer-v1.6.2.tgz
[root@docker-node2 ~]# ll -h harbor-offline-installer-v1.6.2.tgz
-rw-r--r--. 1 root root 629M Nov 21 03:44 harbor-offline-installer-v1.6.2.tgz
yum安装docker-compose
[root@docker-node2 ~]# yum install docker-compose -y
[root@docker-node2 ~]# rpm -qa docker-compose
docker-compose-1.18.0-2.el7.noarch
和官网给的md5值对比下,确保文件没问题
[root@docker-node2 ~]# md5sum harbor-offline-installer-v1.6.2.tgz
a2f12428425bbc14faab6c1c1bbf7272 harbor-offline-installer-v1.6.2.tgz
# 解压文件到/usr/local/
[root@docker-node2 ~]# tar xf harbor-offline-installer-v1.6.2.tgz -C /usr/local/
[root@docker-node2 ~]# cd /usr/local/harbor/
[root@docker-node2 harbor]# ll -h
total 637M
drwxr-xr-x. 3 root root 23 Nov 27 07:37 common
-rw-r--r--. 1 root root 813 Nov 19 02:02 docker-compose.chartmuseum.yml
-rw-r--r--. 1 root root 863 Nov 19 02:02 docker-compose.clair.yml
-rw-r--r--. 1 root root 1.3K Nov 19 02:02 docker-compose.notary.yml
-rw-r--r--. 1 root root 3.6K Nov 19 02:02 docker-compose.yml
drwxr-xr-x. 3 root root 164 Nov 19 02:02 ha
-rw-r--r--. 1 root root 7.8K Nov 19 02:02 harbor.cfg
-rw-r--r--. 1 root root 635M Nov 19 02:02 harbor.v1.6.2.tar.gz
-rwxr-xr-x. 1 root root 6.1K Nov 19 02:02 install.sh
-rw-r--r--. 1 root root 11K Nov 19 02:02 LICENSE
-rw-r--r--. 1 root root 482 Nov 19 02:02 NOTICE
-rw-r--r--. 1 root root 1.5M Nov 19 02:02 open_source_license
-rwxr-xr-x. 1 root root 39K Nov 19 02:02 prepare
启动前修改配置文件,最主要两个参数,一个admin密码另一个db密码
[root@docker-node2 harbor]# vim harbor.cfg
hostname = node2.docker.com
harbor_admin_password = Harbor12345 # 初始密码
db_password = root123 # 数据库初始密码
运行harbor,这个过程也会慢些,这里最好在harbor目录下执行,方便操作
[root@docker-node2 harbor]# ./install.sh
......
Now you should be able to visit the admin portal at http://node2.docker.com.
For more details, please visit https://github.com/goharbor/harbor .
[root@docker-node2 harbor]# ss -tnl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 100 127.0.0.1:25 *:*
LISTEN 0 128 127.0.0.1:1514 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 ::1:25 :::*
LISTEN 0 128 :::443 :::*
LISTEN 0 128 :::4443 :::*
LISTEN 0 128 :::2375 :::*
LISTEN 0 128 :::80 :::*
LISTEN 0 128 :::22 :::*
访问 http://node2.docker.com/
测试
创建一个用户
创建一个仓库test
登陆普通用户创建一个项目
本地标记镜像
docker tag SOURCE_IMAGE[:TAG] node2.docker.com/rsqhttpd/IMAGE[:TAG]
推送镜像到私有项目
docker push node2.docker.com/rsqhttpd/IMAGE[:TAG]
推送镜像到本地仓库
# 默认就是80端口
[root@docker-node1 ~]# cat /etc/docker/daemon.json
{
"registry-mirrors": ["https://3po4uu60.mirror.aliyuncs.com","https://registry.docker-cn.com"],
"insecure-registries": ["node2.docker.com"]
}
[root@docker-node1 ~]# systemctl restart docker
[root@docker-node1 ~]# docker images
给image重新打标签
[root@docker-node1 ~]# docker tag rsqhttpd:v0.2-1 node2.docker.com/rsqhttpd/rsqhttpd:v0.2-1
[root@docker-node1 ~]# docker tag rsqhttpd:v0.2-2 node2.docker.com/rsqhttpd/rsqhttpd:v0.2-2
[root@docker-node1 ~]# docker tag rsqhttpd:v0.2-3 node2.docker.com/rsqhttpd/rsqhttpd:v0.2-3
登录仓库
[root@docker-node1 ~]# docker login node2.docker.com
Username: rsq
Password:
推送本地镜像到仓库中
[root@docker-node1 ~]# docker push node2.docker.com/rsqhttpd/rsqhttpd
查看仓库镜像
暂停仓库
[root@docker-node2 ~]# cd /usr/local/harbor/
[root@docker-node2 harbor]# docker-compose pause # 暂停
Pausing harbor-log ... done
Pausing harbor-db ... done
Pausing harbor-adminserver ... done
Pausing registry ... done
Pausing redis ... done
Pausing harbor-ui ... done
Pausing nginx ... done
Pausing harbor-jobservice ... done
[root@docker-node2 harbor]# docker-compose unpause # 取消暂停
Unpausing harbor-jobservice ... done
Unpausing nginx ... done
Unpausing harbor-ui ... done
Unpausing redis ... done
Unpausing registry ... done
Unpausing harbor-adminserver ... done
Unpausing harbor-db ... done
Unpausing harbor-log ... done