环境: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