Harbor 搭建

环境:centos7.4
docker-ce 18.06.0-ce
docker-compose version 1.18.0
harbor 版本: 1.5.2

harbor 安装参考 https://github.com/goharbor/harbor/blob/v1.5.2/docs/installation_guide.md

安装 docker
安装 docker-compose

mkdir /iba/
cd /iba/

wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.2.tgz
tar xvf harbor-online-installer-v1.5.2.tgz

cd harbor

# 修改 hostname
vi harbor.cfg
hostname = harbor #注意: 这里可以写 IP地址,也可以写域名,写域名需确保 DNS 可以解析

# 添加 hosts
vi /etc/hosts
192.168.0.241 harbor

hostnamectl set-hostname harbor

# harbor 存储数据默认是 /data 目录(这个会自动创建),可以根据自身需要挂载一个单独的分区在这个目录下

# 启动,同时启用漏洞分析
./install.sh --with-clair

# 开放防火墙
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload

浏览器访问
http://192.168.0.241
用户名:admin
密码:Harbor12345

# 可以执行如下的命令进行停止和启动
cd /iba/software/harbor

# 停止
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml down 

# 启动
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml up -d

把镜像上传到 harbor 或下载

# 需要添加 insecure-registries 选项
vi /etc/docker/daemon.json 
{
"insecure-registries": ["192.168.0.241"] 
}

systemctl reload docker

# 检查
docker info

# 如果 horbor 的仓库不是公开的,需要登录(建议设置公开)
docker login -u admin -p Harbor12345  192.168.0.241

可在配置文件 /root/.docker/config.json 查看

# 打tag,这里需要注意: klvchen 是 Harbor 新建的项目名称。原有的项目为 library
docker tag docker.io/centos:7.4.1708 192.168.0.241/klvchen/centos:7.4
docker push 192.168.0.241/klvchen/centos:7.4

删除 horbor 镜像,这里分为两步:

1.在 webui上先进行软删除

2.进行硬删除,在跑这 harbor 的机器上执行
cd /iba/software/harbor

docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml  stop 

# 打印出来已删除镜像,但不进行空间释放和垃圾回收
docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect --dry-run /etc/registry/config.yml

# 执行垃圾回收命令
docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect /etc/registry/config.yml

cd /iba/software/harbor
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml  start

错误参考

一:登录时遇到错误
[root@node1 ~]# docker login -u admin -p Harbor12345  192.168.0.241
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
Error response from daemon: Get http://192.168.0.241/v2/: Get http://harbor/service/token?account=admin&client_id=docker&offline_token=true&service=harbor-registry: dial tcp: lookup harbor on 114.114.114.114:53: no such host

解决办法:
#添加hosts
192.168.0.241 harbor

二:运行一段时间后修改配置文件,报错  Couldn't find env file: /iba/software/harbor/common/config/clair/clair_env
cd /iba/software/harbor
# 停止
docker-compose -f ./docker-compose.yml -f ./docker-compose.clair.yml down 

# 启动
./prepare

./install.sh --with-clair
原文地址:https://www.cnblogs.com/klvchen/p/9482153.html