Docker 搭建 Harbor 私有仓库

发布于:2025-07-10 ⋅ 阅读:(29) ⋅ 点赞:(0)

1 部署 Harbor

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

Docker版本 Docker Compose版本 Harbor版本
v19.09.8 v1.29.2 v2.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 port
  port: 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


网站公告

今日签到

点亮在社区的每一天
去签到