kubernetes学习:1.构建harbor镜像仓库

本文详细介绍了如何在CentOS 7.2上构建单机版Harbor镜像仓库,包括安装Docker和docker-compose,下载并配置Harbor离线安装包,以及启动和验证Harbor服务。接着,文章演示了如何推送和拉取镜像,包括更改Docker配置以适应Harbor的HTTP访问,以及推送和验证镜像到Harbor仓库的过程。

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

构建harbor镜像仓库

Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,可以在测试和生产环境中部署harbor对业务上的镜像进行统一的管理。harbor 的官方网站如下所示:
https://vmware.github.io/harbor/cn/

一般来讲我们在生产环境部署harbor的时候需要使用多节点方案。将数据库从配置项中抽取出来,后端的镜像资源存储使用统一的共享资源(ceph分配的磁盘挂载到指定目录中)。前端可以使用nginx或者haproxy对多个harbor服务进行负载均衡。

本文搭建一个单机的harbor镜像仓库,体会对镜像进行上传和下载的过程。上述的复杂架构就是在此基础上的不断拓展。

构建harbor


构建环境

具体的构建过程主要分为以下几个步骤:

  • 操作系统: centos7.2
  • docker版本: 1.12.6
  • docker-compose: 1.9.0

首先安装docker服务:

[root@wecloud-test-harbor ~]# yum install docker -y

启动docker服务:

[root@wecloud-test-harbor ~]# systemctl start docker.service 
[root@wecloud-test-harbor ~]# systemctl enable docker.service 
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

查看docker服务状态:

[root@wecloud-test-harbor ~]# systemctl status docker.service 
● docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)
   Active: active (running) since 一 2018-03-26 22:33:04 CST; 12s ago
     Docs: http://docs.docker.com
 Main PID: 2311 (dockerd-current)
   CGroup: /system.slice/docker.service
           ├─2311 /usr/bin/dockerd-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-run...
           └─2318 /usr/bin/docker-containerd-current -l 

安装docker-compose:

[root@wecloud-test-harbor ~]# yum install docker-compose -y

下载harbor的离线安装包(离线的安装速度会比较快一些),下载地址如下:
https://storage.googleapis.com/harbor-releases/release-1.4.0/harbor-offline-installer-v1.4.0.tgz

解压harbor-offline-installer-v1.4.0.tgz:

[root@wecloud-test-harbor ~]# tar xvf harbor-offline-installer-v1.4.0.tgz

跳转到harbor目录,修改harbor.cfg配置文件:


[root@wecloud-test-harbor harbor]# grep "^[^#]" harbor.cfg 
# harbor的主机地址
hostname = 192.168.99.180
# 这里使用http协议,如果需要上传镜像,需要在docker.service文件中添加一个配置,后续会介绍到
ui_url_protocol = http
max_job_workers = 3 
customize_crt = on
ssl_cert = /data/cert/server.crt
ssl_cert_key = /data/cert/server.key
secretkey_path = /data
admiral_url = NA
log_rotate_count = 50
log_rotate_size = 200M
#××××××××××××××××××邮件的配置信息××××××××××××××××××
email_identity = 
email_server = smtp.mydomain.com
email_server_port = 25
email_username = sample_admin@mydomain.com
email_password = abc
email_from = admin <sample_admin@mydomain.com>
email_ssl = false
email_insecure = false
#××××××××××××××××××邮件的配置信息××××××××××××××××××
# 管理员密码,管理员帐号为:admin
harbor_admin_password = Harbor12345
# 使用数据库存储认证信息
auth_mode = db_auth
# 配置ldap信息
ldap_url = ldaps://ldap.mydomain.com
ldap_basedn = ou=people,dc=mydomain,dc=com
ldap_uid = uid 
ldap_scope = 2 
ldap_timeout = 5
ldap_verify_cert = true
self_registration = on
token_expiration = 30
project_creation_restriction = everyone
# 指定mysql数据库的信息
db_host = mysql
db_password = root123
db_port = 3306
db_user = root
# redis地址
redis_url =
clair_db_host = postgres
clair_db_password = password
clair_db_port = 5432
clair_db_username = postgres
clair_db = postgres
uaa_endpoint = uaa.mydomain.org
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值