当前位置: 首页 > news >正文

Docker 搭建 Harbor 私有仓库

1 部署 Harbor

注意:docker、docker-compose、Harbor的版本是否适配,这里使用的版本如下表

Docker版本Docker Compose版本Harbor版本
v19.09.8v1.29.2v2.8.2

1.1 安装 docker-compose

# 下载 docker-compose 1.29.2 版本 
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -oin/docker-compose# 赋予执行权限
chmod +x /usr/local/bin/docker-compose# 验证安装
docker-compose --version

1.2 部署 Harbor

1.2.1 下载或上传 Harbor 安装包

# 下载 Harbor 离线安装包
wget https://github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz# 解压
tar zxvf harbor-offline-installer-v2.8.2.tgz -C /usr/local/# 进入 harbor 相关目录
cd /usr/local/harbor/

1.2.2 配置 Harbor

# 复制示例文件
cp harbor.yml.tmpl harbor.yml
# 编辑配置文件
vi harbor.yml

修改harbor.yml 内容如下:

# 配置 Harbor 访问地址
hostname: 192.168.56.100# 配置 HTTP (端口默认是80,这里避免被占用改为8088)
http:# port for http, default is 80. If https enabled, this port will redirect to https portport: 8088# 这里不使用 HTTPS,暂时注释(建议生产使用HTTPS)
#https:# https port for harbor, default is 443#port: 443# The path of cert and key files for nginx#certificate: /your/certificate/path#private_key: /your/private/key/path# 配置 Harbor 管理员初始密码,默认用户名/密码是 admin/Harbor12345
harbor_admin_password: Harbor12345

1.2.3 配置 Docker 信任非 HTTPS 仓库

(1)编辑 Docker 配置文件,添加 Harbor 地址到信任列表

vi /etc/docker/daemon.json

添加内容如下: 

{"insecure-registries": ["192.168.56.100:8088"]
}

(2)重启 Docker 服务

# 重新加载 docker 配置文件
systemctl daemon-reload
# 重启 docker
systemctl restart docker

1.2.4 启动 Harbor

# 修改了harbor.yml配置文件,需重新应用配置
./prepare
# 启动
./install.sh

出现以下内容,说明重新应用配置成功: 

出现以下内容,说明 Harbor 启动成功:

1.2.5 停止启动 Harbor 命令

# 停止 Harbor
docker-compose down
# 启动 Harbor(-d 表示后台运行)
docker-compose up -d

1.2.6 查看 Harbor 服务状态

docker-compose ps

1.2.7 创建一个新的项目

(1)浏览器访问 http://192.168.56.100:8088/ 并使用默认管理员用户/密码 admin/Harbor12345 登录 Harbor UI 界面;

(2)输入用户名/密码登录后,点击 新建项目。

(3)填写项目名称,项目配额限制为-1表示没有上限。

1.2.8 上传镜像到 Harbor

(1)Docker 登录 Harbor

docker login http://192.168.56.100:8088# 或docker login -u admin -p Harbor12345 http://192.168.56.100:8088

(2) 将镜像打标签

# 格式:docker tag 镜像:标签 仓库IP/项目名称/镜像名:标签
docker tag mysql:5.6 192.168.56.100:8088/gulimall/mysql:v1

(3)上传镜像到 Harbor

docker push 192.168.56.100:8088/gulimall/mysql:v1

http://www.dtcms.com/a/271077.html

相关文章:

  • Elasticsearch RESTful API入门:全文搜索实战(Java版)
  • 【Oracle报错】[INS-13001] 环境不满足最低要求。
  • 以太网基础④IP 协议介绍与 IP 校验和算法实现
  • 逆向 qq 音乐 sign,data, 解密 response 返回的 arraybuffer
  • 在 Coze 平台工作流开发中,使用图生视频大模型需要时间比较长比如5分钟,如何解决工作流运行超时的问题以及等在视频生成以后再向下走
  • JavaEE初阶第八期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(六)
  • Jmeter进阶篇(35)完美解决Jmeter转换HTML报告报错“Begin size 0 is not equal to fixed size 5”
  • git中的指令解释
  • 详解CAN总线的位填充机制
  • 【学习笔记】计算机操作系统(七)—— 文件管理
  • 全志H616开发学习文档
  • prometheus+grafana接入kafka实战
  • Python管理咨询数据可视化实战:收入分布与顾问利用率双轴对比图表生成脚本
  • 基于BRPC构建高性能HTTP/2服务实战指南
  • python之requests库解析
  • 1️⃣理解大语言模型
  • 【时时三省】(C语言基础)通过指针引用数组
  • 阿里开源WebSailor:超越闭源模型的网络智能体新星
  • 疏锦行Python打卡 DAY 54 Inception网络及其思考
  • HTML + CSS + JavaScript
  • 字体 Unicode 区块字符展示 PDF 生成器
  • Ubuntu重装系统后ssh连接不上(遇到 ​​“Unit ssh.service not found“​​ 错误)
  • kubernetes存储入门
  • Spring Boot + Vue.js 全栈开发:从前后端分离到高效部署,打造你的MVP利器!
  • 【05】MFC入门到精通——MFC 为对话框中的控件添加变量 和 数据交换和检验
  • 【01】MFC入门到精通—— MFC新建基于对话框的项目 介绍(工作界面、资源视图 、类视图)
  • Flink-1.19.0源码详解6-JobGraph生成-后篇
  • AJAX总结
  • Flink1.20.1集成Paimon遇到的问题
  • Electron 应用打包全指南