一、Harbor
1、Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。
2、简单来说harbor就是VMWare公司提供的一个docker私有仓库构建程序,功能非常强大.
支持多租户签名和认证 支持安全扫描和风险分析 这次日志审计 基于角色的访问控制 支持可扩展的API和GUI Image replication between instances 国际化做的很好(目前支持英文和中文)
安装前提:已经安装过docker,未安装请先点此处:快速安装Docker
#下载harbor,官方地址:https://github.com/goharbor/harbor/releases/download/v2.3.5/harbor-online-installer-v2.3.5.tgz
#注意有两种安装包一种是在线安装的,一种是离线安装包!这里下载在线安装包online版本
#创建目录
mkdir /ry/harbor/
cd /ry/harbor
#开始安装,下载
curl -O https://github.com/goharbor/harbor/releases/download/v2.3.5/harbor-online-installer-v2.3.5.tgz
#解压
tar -zxvf harbor-online-installer-v2.3.5.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml
#修改配置,需修改hostname、port、HorborAdminPass、harborDbPasswd 。Http和https访问的配置信息和内容
vim harbor.yml
#安装
./prepare
./install.sh
#访问:自己配置的域名+端口
https://xxxx.xxxxx.xxxx:port
#开启开机启动harbor
#创建文件
touch /lib/systemd/system/harbor.service
#写入文件
cat > /lib/systemd/system/harbor.service << "EOF"
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor
[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/docker-compose -f /ry/harbor/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /ry/harbor/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
EOF
#设置开机启动,重启
systemctl enable harbor
docker-compose -f /ry/harbor/harbor/docker-compose.yml down -v
systemctl restart harbor
#配置docker链接harbor
vim /etc/docker/daemon.json
#将daemon.json改成如下样子,主要是修改该文件加入insecure-registries 的值: https://xxxx.xxxxx.xxxx:port 也就是自己的harbor配置文件里的host+port
{
"registry-mirrors": ["https://mirror.aliyuncs.com"],
"insecure-registries" : ["https://www.xxxxxxx.com:7777"]
}
#重启
systemctl daemon-reload
systemctl restart docker
#访问
https://www.xxxxxxx.com:7777
访问登录页面:
上传镜像命令:
新建项目后,进入项目
]