CentOS7下部署Docker私有仓库Harbor

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: CentOS7下部署Docker私有仓库Harbor

CentOS7下部署Docker私有仓库Harbor


640.png

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


640.jpg

640.jpg

640.jpg

步骤2:安装docker-compose


yum install docker-compose
docker-compose -v

640.jpg

640.jpg

步骤3:上传harbor v2.2.0离线安装包


harbor-offline-installer-v2.2.0.tgz

640.jpg


步骤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

640.jpg

步骤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


640.jpg640.jpg

640.jpg

640.jpg


若有防火墙,则需要放通防火墙

firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload


步骤6:登录harbor并创建项目


640.jpg

640.jpg

640.jpg

步骤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


640.jpg



步骤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


640.jpg

3)配置主机名解析


echo "192.168.198.200 harbor.walkingcloud.cn" >> /etc/hosts
cat /etc/hosts


4)登录仓库


docker login harbor.walkingcloud.cn


640.jpg


5)push到harbor私有仓库


docker push harbor.walkingcloud.cn/yuanfan/centos8:v1


6)测试删除本地镜像后从harbor私有仓库拉取并测试


docker pull harbor.walkingcloud.cn/yuanfan/centos8:v1


640.jpg640.jpg

640.jpg

相关实践学习
通过workbench远程登录ECS,快速搭建Docker环境
本教程指导用户体验通过workbench远程登录ECS,完成搭建Docker环境的快速搭建,并使用Docker部署一个Nginx服务。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
3天前
|
Cloud Native 测试技术 数据安全/隐私保护
云原生之使用Docker部署Teedy轻量级文档管理系统
【5月更文挑战第8天】云原生之使用Docker部署Teedy轻量级文档管理系统
17 1
|
3天前
|
前端开发 jenkins 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-前端项目发布(五)
13 1
|
3天前
|
jenkins 网络安全 持续交付
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-后端项目发布(四)
11 3
|
4天前
|
网络协议 Linux Docker
在centos7下通过docker 安装onlyoffice
在centos7下通过docker 安装onlyoffice
15 0
|
21小时前
|
Cloud Native 安全 Linux
【云原生之Docker实战】使用Docker部署mBlog微博系统
【5月更文挑战第10天】使用Docker部署mBlog微博系统
9 2
|
1天前
|
JavaScript 前端开发 测试技术
Docker环境下部署Ghost开源内容管理系统
【5月更文挑战第9天】Docker环境下部署Ghost开源内容管理系统
7 0
|
3天前
|
Java 开发工具 git
新的centos7.9安装docker版本的jenkins2.436.1最新版本-项目发布(三)
新的centos7.9安装docker版本的jenkins2.436.1最新版本-项目发布(三)
10 4
|
3天前
|
网络安全 Docker 容器
测试开发环境下centos7.9下安装docker的minio
测试开发环境下centos7.9下安装docker的minio
|
4天前
|
Cloud Native 测试技术 Linux
云原生之使用Docker部署homer静态主页
【5月更文挑战第7天】云原生之使用Docker部署homer静态主页
10 0
|
4天前
|
NoSQL Linux Redis
本地虚拟机centos7通过docker安装主从redis3.2
本地虚拟机centos7通过docker安装主从redis3.2
11 0