Harbor的部署和使用

本文详细介绍了如何部署Harbor,从安装Docker和docker-compose开始,逐步讲解Harbor的安装过程。接着,通过访问Harbor创建仓库和用户,并演示了如何使用Docker将镜像上传到Harbor仓库,以及在其他节点上配置Harbor进行镜像管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、准备

服务版本
linuxcentos7
docker18.06.1-ce
docker-compose1.27.4
harborv1.10.1-f3e11715

二、安装

1.docker安装

// 1.安装Docker源
yum install -y wget && wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
 
// 2.安装Docker
yum -y install docker-ce-18.06.1.ce-3.el7
 
// 3.开启自启和启动
systemctl enable docker && systemctl start docker
 
// 4.查看版本
docker --version

2.docker-compose安装

#从官网下载太慢,使用国内地址下载
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

#赋予执行权限
sudo chmod +x /usr/local/bin/docker-compose

#创建软连接,有时会出现不能全局使用的情况
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

#查看版本
docker-compose --version

3.harbor安装

# 1.安装到/opt目录
cd /opt

# 2.下载离线包:
wget https://storage.googleapis.com/harbor-releases/release-1.10.0/harbor-offline-installer-v1.10.1-rc1.tgz

# 3.解压
tar zxf harbor-offline-installer-v1.10.1-rc1.tgz

# 4.修改配置
vim harbor.yml
# 调整以下参数:
hostname: 192.168.100.4  #这里配置的监听地址,也可以是域名
port: 80 #这里配置监听端口
harbor_admin_password: Harbor12345  # 配置admin用户的密码
data_volume: /data/harbor  #配置数据仓库
# 注释https

# 5.执行安装脚本,会启动harbor
./install.sh

# 6.设置harbor开机自启动(推荐)
cat >> /usr/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 /opt/harbor/docker-compose.yml up
ExecStop=/usr/local/bin/docker-compose -f /opt/harbor/docker-compose.yml down
[Install]
WantedBy=multi-user.target
EOF

systemctl enable harbor && systemctl restart harbor

注:/opt/harbor路径要对应

注:第一次start会失败:WARNING: no logs are available with the 'syslog' log driver,
解决方法就是再执行systemctl restart harbor

# 7.harbor单独启动(不用执行,参考下。不推荐)
harbor 通过docker-compose.yml配置文件的形式管理
停止:
docker-compose stop
启动:
docker-compose up -d

三、访问Harbor,创建仓库和开发用户

1.访问Harbor

http://192.168.100.4
admin/Harbor12345

2.创建仓库和用户

根据界面信息,比如我创建了一个demo-library的项目和datangxiangma的用户,在仓库中添加用户,设置角色为开发
切换这个新用户登录harbor, 因为admin无法上传镜像
在这里插入图片描述

四、docker上传镜像到Harbor仓库

1.docker中配置仓库

# k8s每个docker节点都配置下
vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries": ["http://192.168.100.4","http://192.168.100.4:80"]
}

注:如果harbor是80端口,上边需要把80的两种地址都配上。不解释

# 配置后重新加载配置和重启docker
systemctl daemon-reload && systemctl restart docker

2.doker登录到Harbor仓库

不登录是不能上传的,因为harbor不能确认身份

docker login docker login 192.168.100.4:80
注:这个端口格式要和提交的保持一致
用户名和密码就是Harbor新建用户的。

3.docker标记和上传镜像到harbor

打开对应的harbor仓库,找到对应命令格式:
在这里插入图片描述
格式
在项目中标记镜像:
docker tag SOURCE_IMAGE[:TAG] 192.168.100.4/demo-library/IMAGE[:TAG]
推送镜像到当前项目:
docker push 192.168.100.4/demo-library/IMAGE[:TAG]

1.在项目中标记镜像
docker tag demo-docker-java 192.168.100.4/demo-library/demo-docker-java
因为我的tag是latest,所以我不输入tag号

2.推送镜像到当前项目
docker push 192.168.100.4/demo-library/demo-docker-java

五、其他节点docker配置harbor

每个节点都要新增下daemon.json配置
vim /etc/docker/daemon.json
新增一下内容,注意json文件格式要写对
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
  "insecure-registries": ["http://192.168.100.4","http://192.168.100.4:80"]
}

加载配置并重启docker
systemctl daemon-reload && systemctl restart docker

如果这一步没配置好,docker login ip 会报这个错误的:
telnet: connect to address 192.168.100.4: Connection refused
因为他默认的是用https访问的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值