文章目录
前言一、安装docker二、安装docker-compose1.下载2.赋权3.测试 三、安装harbor1.下载2.解压3.修改配置文件4.部署5.配置开机自启动6.登录验证7.docker上传下载镜像8.补充说明 四、harbor使用问题1.docker login问题:Error response from daemon: Get https://: http: server gave HTTP response to HTTPS client2.k8s无法下载镜像 unauthorized: unauthorized to access repository 结尾
前言
Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全、标识和管理等,扩展了开源Docker Distribution。作为一个企业级私有Registry服务器,Harbor提供了更好的性能和安全。提升用户使用Registry构建和运行环境传输镜像的效率。Harbor支持安装在多个Registry节点的镜像资源复制,镜像全部保存在私有Registry中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等,下面进行Harbor的安装实战。
一、安装docker
可以参考往期的这篇文章:docker安装部署实战详细手册
二、安装docker-compose
1.下载
笔者这里下载的2.3.4版本,可以根据实际需要调整
如果服务器网络无法下载,也可手动下载,然后上传服务器,并将文件夹修改为docker-compose
curl -L "https://github.com/docker/compose/releases/download/2.3.4/docker-compose-$(uname -s)-$(uname -m)" -o/usr/local/bin/docker-compose
uname -s:是系统内核名称(Linux),uname -m:是计算机硬件架构(x86_64)
2.赋权
chmod +x /usr/local/bin/docker-compose
3.测试
docker-compose --version
三、安装harbor
1.下载
可以直接从服务器下载离线安装包,我这里选择的2.6.1版本,网络不好的可以下载后传入服务器
wget https://github.com/goharbor/harbor/releases/download/v2.6.1/harbor-offline-installer-v2.6.1.tgz
2.解压
tar -zxvf harbor-offline-installer-v2.6.1.tgz
3.修改配置文件
cd harborcp harbor.yml.tmpl harbor.ymlvi harbor.yml
4.部署
./install.sh
5.配置开机自启动
/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml up -d
6.登录验证
7.docker上传下载镜像
登录
docker login 192.168.19.102:8000
打标签
docker tag {image name}:{tag} {harbor ip}:{port}/{harbor project}/{image name}:{tag}#样例docker tag apache-doris:1.2.6-be 192.168.19.102:8000/doris/apache-doris:1.2.6-be
上传
docker push {harbor ip}:{port}/{harbor project}/{image name}:{tag}#样例docker push 192.168.19.102:8000/doris/apache-doris:1.2.6-be
下载
docker pull {harbor ip}:{port}/{harbor project}/{image name}:{tag}#样例docker pull 192.168.19.102:8000/doris/apache-doris:1.2.6-be
8.补充说明
如果以后修改了harbor.yml文件,那么先停止使用docker-compose down,再去修改harbor.yml文件,重新启动部署 ./install.sh正常启动harbor启动:docker-compose up -d未修改配置文件,重启Harbor命令:docker-compose start | stop | restart四、harbor使用问题
1.docker login问题:Error response from daemon: Get https://: http: server gave HTTP response to HTTPS client
服务器通过docker login命令登录报错
docker login 192.168.19.102:8000
vi /etc/docker/daemon.json
编辑daemon.json文件,添加如下内容(连接harbor拉取镜像的docker服务器都需要配置)
{ "insecure-registries": ["192.168.19.102:8000"]}
重新加载、启动docker
systemctl daemon-reloadsystemctl restart docker
2.k8s无法下载镜像 unauthorized: unauthorized to access repository
创建secret
kubectl create secret docker-registry harbor-login-registry --docker-email=dd@example --docker-username=admin --docker-password=admin --docker-server=192.168.19.102:8000
k8s yaml增加配置
imagePullSecrets: # 使用密码登录 - name: harbor-login-registry