Harbor离线部署全攻略:从零搭建私有镜像仓库

1. 为什么你需要一个离线的Harbor?

如果你在一个完全隔离的内网环境里搞开发,比如银行的研发中心、某些对安全要求极高的制造企业,或者干脆就是公司网络策略不允许服务器直接访问外网,那你肯定对“下载镜像”这事儿头疼过。每次需要个新版本的Nginx、Redis,都得找运维同事从外网机器上拖下来,再想办法倒腾进去,费时费力不说,还容易出错。这时候,一个部署在内网的、私有镜像仓库就成了刚需。

Harbor,就是这个领域的“明星产品”。它最初由VMware中国团队开源,现在已经是CNCF的毕业项目,你可以把它理解为一个企业级的、功能增强版的Docker Registry。它不光能安全地存储和分发你的Docker镜像,还提供了图形化管理界面、基于角色的访问控制(RBAC)、镜像漏洞扫描、镜像复制、日志审计等一大堆开箱即用的企业级功能。简单说,有了Harbor,你的内网环境就有了一个属于自己的、安全可靠的“Docker镜像应用商店”。

离线部署,就是在没有互联网连接的环境下,把Harbor这个“商店”完整地搭建起来。这听起来有点挑战,毕竟通常安装软件都需要联网下载一堆依赖。但别担心,Harbor官方贴心地提供了 harbor-offline-installer,也就是离线安装包。这个包就像一个“全家桶”,已经把Harbor运行所需的所有核心组件(包括必要的数据库、缓存等)的镜像都打包好了。我们只需要把这个“全家桶”搬进内网,稍作配置,就能让它跑起来。接下来,我就带你一步步走通这个流程,分享一些我踩过坑后总结的实战经验。

2. 部署前的“粮草”准备

打仗前得备好粮草,部署Harbor也一样。我们需要一台或多台Linux服务器作为宿主机。这里我以最常用的CentOS 7.x为例,其他发行版如Ubuntu、RHEL等思路类似,只是包管理命令不同。

2.1 基础环境清理与加固

首先,登录你的服务器。我习惯先做一波清理,确保环境干净,避免旧版本软件带来的冲突。

# 1. 如果有旧版本的Docker,先清理掉(如果是全新系统可跳过)
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine -y

清理完成后,我们来安装Docker。在内网环境,我们通常无法直接使用Docker官方的源。所以,一个常见的做法是,在一台能通外网的“跳板机”上,提前下载好所有需要的RPM包,然后拷贝到内网服务器进行安装。这里为了流程完整,我先给出在线安装的命令,你可以根据实际情况调整为离线安装。

# 2. 安装yum工具集并配置仓库(在线环境)
sudo yum install -y yum-utils
# 使用国内镜像源加速,例如阿里云
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 3. 安装Docker引擎
sudo yum makecache fast
sudo yum install docker-ce docker-ce-cli containerd.io -y

# 4. 启动Docker并设置开机自启
sudo systemctl start docker
sudo systemctl enable docker
# 检查一下状态,看到active (running)就对了
sudo systemctl status docker

离线安装Docker的备选方案:你需要在外网机器访问阿里云镜像站或Docker官方仓库,下载对应系统版本的 docker-cedocker-ce-clicontainerd.io 以及它们的依赖包(可以用 yum install --downloadonly --downloaddir=./docker_packages docker-ce 命令只下载不安装),然后将整个目录打包,传到内网服务器,使用 sudo yum localinstall *.rpm 来安装。

2.2 搞定编排工具:Docker Compose

Harbor在单机部署时,默认使用Docker Compose来编排和管理其多个服务容器(如数据库、缓存、核

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值