欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 基于Harbor构建docker私有仓库

基于Harbor构建docker私有仓库

2025/3/14 20:24:06 来源:https://blog.csdn.net/Hurry6/article/details/146151616  浏览:    关键词:基于Harbor构建docker私有仓库

1.环境准备

  • 操作系统:Linux(推荐 CentOS 7+/Ubuntu 18.04+)
  • Docker:18.06+
  • Docker Compose:1.18.0+
  • 硬件:至少 4GB 内存,100GB 磁盘空间(根据镜像存储需求调整)

安装 Docker 和 Docker Compose

# 安装 Docker
curl -fsSL https://get.docker.com | bash -s docker
systemctl start docker && systemctl enable docker

# 安装 Docker Compose
curl -L "https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose --version  # 验证安装

2. 下载 Harbor 安装包

wget https://github.com/goharbor/harbor/releases/download/v2.8.4/harbor-offline-installer-v2.8.4.tgz
tar -zxvf harbor-offline-installer-v2.8.4.tgz -C  /usr/local


3.修改配置文件

cd   /usr/local/harbor

cp harbor.yml.tmpl harbor.yml

vim    harbor.yml  

hostname: 192.168.234.15   # 你的域名或IPhttp:port: 5050                       # 监听端口harbor_admin_password: "Harbor12345"  # Harbor 管理员密码,可修改成自己想要的密码

注释https

4. 安装 Harbor

# 执行安装脚本
./install.sh

5. 配置 Docker 允许 Harbor 作为可信仓库

# 由于docker默认不允许使用非https方式推送镜像,所以在需要pull镜像的服务器配置访问地址

vim /etc/docker/daemon.json

{"insecure-registries" :["192.168.234.15:5050"],"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.nju.edu.cn"]
}

# 重启docker和harbor容器;要在harbor目录下操作,否则docker-compose会出问题;
systemctl daemon-reload
systemctl restart docker
docker-compose stop
docker-compose up -d

6. 访问 Harbor Web 界面

  • 地址https://192.168.234.15:5050(或服务器域名)
  • 用户名admin
  • 密码Harbor12345(配置文件中设置的密码
  • 创建 Harbor 项目
  • 进入 "项目",点击 "新建项目",创建一个名为openlab的项目。

7. 登录 Harbor 并推送镜像

7.1 登录 Harbor

docker login 192.168.234.15:5050 -u admin -p Harbor12345

7.2 标记镜像

docker tag busybox:latest 192.168.234.15:5050/openlab/busybox:v1

7.3 推送镜像

docker push  192.168.234.15:5050/openlab/busybox:v1

 7.5 拉取镜像(用客户端测试)

在客户端安装 Docker 和 Docker Compose

mkdir  /etc/docker/

cd /etc/docker

vim daemon.json

添加

{"insecure-registries" :["192.168.234.15:5050"],"registry-mirrors": ["https://docker.m.daocloud.io","https://hub-mirror.c.163.com","https://mirror.baidubce.com","https://docker.nju.edu.cn"]
}

# 重启docker和harbor容器;要在harbor目录下操作,否则docker-compose会又问题;
systemctl daemon-reload
systemctl restart docker
docker-compose stop
docker-compose up -d

创建 Harbor 用户

创建用户并分配权限
在 Web 管理界面中单击系统管理 -> 用户管理 -> +用户

创建成功

添加项目成员

单击项目 -> openlab-> 成员 -> + 成员,填写上述创建的用户hurry 并分配角色为“开发者”。

成功添加

用该用户在客户端登录仓库

docker login  192.168.234.15:5050 

# 拉取测试镜像

192.168.234.15:5050/openlab/busybox:v1

docker images

拉取成功!!!

8. 配置 HTTPS(推荐)

8.1 生成自签名证书

mkdir -p /certs && cd /certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.key -x509 -days 365 -out harbor.crt

8.2配置 Harbor 使用 HTTPS

编辑  harbor.yml:

hostname: myharbor.example.comhttps:port: 443certificate: /certs/harbor.crtprivate_key: /certs/harbor.key

 8.3 重新启动 Harbor

docker compose down

docker compose up -d

8.4 配置 Docker 允许 Harbor HTTPS 证书

mkdir -p /etc/docker/certs.d/myharbor.example.com
cp /certs/harbor.crt /etc/docker/certs.d/myharbor.example.com/ca.crt
systemctl restart docker

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词