CentOS7下部署Docker私有仓库Harbor
Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。
作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。
- 基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。
- 镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。
- 图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。
- AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。
- 审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。
- 国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。
- RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。
- 部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备
下面介绍CentOS7下部署Docker私有仓库Harbor
步骤1:安装docker
# step 1: 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2 # Step 2: 添加软件源信息 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # Step 3 sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo # Step 4: 更新并安装Docker-CE yum makecache fast yum -y install docker-ce # Step 4: 开启Docker服务 systemctl start docker systemctl enable docker docker version
步骤2:安装docker-compose
yum install docker-compose docker-compose -v
步骤3:上传harbor v2.2.0离线安装包
harbor-offline-installer-v2.2.0.tgz
步骤4:openssl生成https证书
使用openssl自签名生成证书
mkdir /etc/certs/ cd /etc/certs/ 1)、生成server.key openssl genrsa -aes256 -out server.key 2048 2)、生成无密码的server.key openssl rsa -in server.key -out server.key 3)、创建服务器证书的申请文件 server.csr openssl req -new -key server.key -out server.csr 依次输入国家、省份、城市、公司、部门及邮箱 注意这里的域名输入时要特别注意 4)、生成crt证书文件server.crt openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 3650 或者(openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey server.key -CAcreateserial
步骤5:修改harbor.yml并安装harbor
tar -zxf harbor-offline-installer-v2.2.0.tgz cd harbor cp harbor.yml.tmpl harbor.yml vim harbor.yml 修改harbor.yml hostname: harbor.walkingcloud.cn certificate: /etc/certs/server.crt private_key: /etc/certs/server.key sh install.sh
若有防火墙,则需要放通防火墙
firewall-cmd --zone=public --add-port=443/tcp --permanent firewall-cmd --reload
步骤6:登录harbor并创建项目
步骤7:docker客户端测试harbor仓库
1、安装docker
步骤就不太详细描述,参考步骤1
2、修改配置/etc/docker/daemon.json
添加阿里云docker镜像加速以及Docker私有仓库Registry信任地址
vim /etc/docker/daemon.json cat /etc/docker/daemon.json { "registry-mirrors": ["https://1jk30jsb.mirror.aliyuncs.com"], "insecure-registries": ["harbor.walkingcloud.cn"] } systemctl daemon-reload systemctl restart docker
步骤8、测试push到harbor私有仓库
1)从公有仓库拉取一个centos:latest镜像用于测试
docker pull centos:latest docker images
2)打上Tag
docker tag centos:latest harbor.walkingcloud.cn/yuanfan/centos8:v1 docker images
3)配置主机名解析
echo "192.168.198.200 harbor.walkingcloud.cn" >> /etc/hosts cat /etc/hosts
4)登录仓库
docker login harbor.walkingcloud.cn
5)push到harbor私有仓库
docker push harbor.walkingcloud.cn/yuanfan/centos8:v1
6)测试删除本地镜像后从harbor私有仓库拉取并测试
docker pull harbor.walkingcloud.cn/yuanfan/centos8:v1