Harbor作为docker镜像仓库,自然是要依赖于docker环境的,所以,我们在安装Harbor之前,必须要安装docker环境,同时再安装下docker-compose!
docker与docker-compose的安装教程参考:Docker、Docker-compose的安装
一、Harbor的离线安装
1、下载Harbor的离线安装包:
下载地址:https://github.com/goharbor/harbor/releases
我下载的是当前最新版:v1.10.10
2、上传并解压到 /usr/local/目录下:
[root@node1 ~]# tar -zxvf harbor-offline-installer-v1.10.10.tgz [root@node1 ~]# mv harbor /usr/local/ [root@node1 ~]# cd /usr/local/harbor/ [root@node1 harbor]# ls common.sh harbor.v1.10.10.tar.gz harbor.yml install.sh LICENSE prepare
3、修改harbor的核心配置文件:
[root@node1 harbor]# vim harbor.yml ## 唯一必须修改项 hostname: 10.206.73.155 #如果有计划好的域名,可以直接使用域名 # http related config http: # port for http, default is 80. If https enabled, this port will redirect to https port port: 80 # 因为我暂时不需要https访问,所以https的配置去除 #https: #port: 443 #certificate: /your/certificate/path #private_key: /your/private/key/path harbor_admin_password: Harbor12345 #需要修改
4、检查并安装:
# 检查 ./prepare # 安装 ./install
如果碰到iptable相关的error,关闭 firewalld,并重启docker服务
systemctl stop firewalld service docker restart
5、查看、启动、停止:
在harbor目录下使用docker-compose命令:
## 查看 [root@node1 harbor]# docker-compose ps Name Command State Ports --------------------------------------------------------------------------------------------- harbor-core /harbor/harbor_core Up (healthy) harbor-db /docker-entrypoint.sh Up (healthy) 5432/tcp harbor-jobservice /harbor/harbor_jobservice ... Up (healthy) harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:1514->10514/tcp harbor-portal nginx -g daemon off; Up (healthy) 8080/tcp nginx nginx -g daemon off; Up (healthy) 0.0.0.0:80->8080/tcp redis redis-server /etc/redis.conf Up (healthy) 6379/tcp registry /home/harbor/entrypoint.sh Up (healthy) 5000/tcp registryctl /home/harbor/start.sh Up (healthy) # docker-compose stop ## 停止 # docker-compose up -d ## 后台启动
6、通过yml中配置的ip+port,以及admin的账号密码访问Harbor:
补充一、内部使用Harbor时,只有ip端口,没有域名怎么办?
Error response from daemon: Get https://10.206.73.155/v2/: dial tcp 10.206.73.155:443: connect: connection refused
我们可以在docker的核心配置文件中,增加上对特定ip的允许即可:
[root@master ~]# vim /etc/docker/daemon.json { "registry-mirrors":[ "https://otvq3lq9.mirror.aliyuncs.com" ], "insecure-registries":[ "10.206.73.155" ], "max-concurrent-downloads":10, "log-driver":"json-file", "log-level":"warn", "log-opts":{ "max-size":"50m", "max-file":"3" }, "data-root":"/var/lib/docker" }
重启docker守护线程和docker服务:
[root@node2 ~]# systemctl daemon-reload [root@node2 ~]# systemctl restart docker