栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Docker-Harbor私有库

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Docker-Harbor私有库

Docker-Harbor

Harbor是构建企业级私有docker镜像仓库的解决方案,它是Docker Registry的更高级封装,它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,他还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库(注:helm就相当于k8s的yum)。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级司有仓库来说是非常具有意义的。

Nexus是 Maven 仓库管理器,如果你使用Maven,你可以从Maven中央仓库下载所需要的构件(artifact),但这通常不是一个好的做法,你应该在本地假设一个Maven仓库服务器,在代理远程仓库的同时维护本地仓库,以节省带宽和时间,Nexus就可以满足这样的需要。此外,他还提供了强大的仓库管理功能,构件搜索功能,它基于REST,友好的UI是一个extjs的REST客户端,它占用较少的内存,基于简单文件系统而非数据库。这些优点使其日趋成为最流行的Maven仓库管理器。

Notary是一个允许任何人信任任意数据集合的项目。Notary项目包括服务器和客户端,用于运行和可信集合交互。Notary旨在通过让人们轻松发布和验证内容,使互联网更加安全。我们经常依靠TLS来保护我们与WEB服务器的通信,这本身就存在缺陷,因为服务器被攻破时可使恶意内容替代合法内容。借助Notary,发布商可以使用保持高度安全的密钥离线签署其内容,一旦发布者准备好内容,他们可以将他们签名的可信集合推送到Notary服务器。消费者通过安全渠道获得了发布者的公钥,然后可以与任何Notary服务器或(不安全)镜像进行通信,仅依靠发布者的密钥来确定接收内容的有效性和完整性。Notary基于TUF项目,一个针对软件分发和更新问题的安全通用设计。

Clair:通过对容器的layer进行扫描,发现漏洞并进行预警,其使用数据是基于Common Vulnerabilities and Exposures数据库(简称CVE),各Linux发行版一般都有自己的CVE源,而Clair则是与其进行匹配以判断漏洞的存在与否,比如HeartBleed的CVE为:CVE-2014-0160。

Harbor:
这是VMWare公司提供的一个docker私有仓库构建程序,功能非常强大
1、支持多租户签名和认证
2、支持安全扫描和风险分析
3、支持日志审计
4、基于角色的访问控制
5、支持可扩展的API和GUI
6、Image replication between instances
7、国际化做的很好(支持中文)
8、本身自带 docker 私有仓库
Harbor部署 安装 前置条件
1、需要安装docker、docker-compose并运行docker

1、从GitHub上下载Harbor的二进制发行包。(GitHub地址:https://github.com/goharbor/harbor/releases)

2、下载成功、解压

tar xf harbor-offline-installer-v2.1.1.tgz
cd harbor
cp harbor.yml.tmpl harbor.yml

PS: 这里跟以前不一样,没有了harbor.cfg文件,我们需要手动复制harbor.yml.tmpl在做修改即可

3、修改harbor.yml

PS: harbor作为私有仓库作用在公司内网,一般都是信任关系,没多大必要做https,使用http即可!
所以 把https相关的已经注释掉

更改如下内容:
hostname:192.168.1.22
port:81
注释https相关配置

PS:默认端口号为80,如机器80端口被占用的话后续安装harbor会报错,更改http配置port的值即可

4、安装harbor

./prepare
./install.sh

5、harbor的控制

docker-compose up -d 启动
docker-compose stop 停止
docker-compose restart 重新启动

6、访问Harbor

访问地址:http://192.168.1.22:81
默认的账号密码:admin/Harbor12345
测试推送镜像

1、更改docker启动配置文件,添加私服指定配置项(添加在ExecStart行后) --insecure-registry 192.168.1.22:81

vi /usr/lib/systemd/system/docker.service

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --graph=/data/docker-data 
--insecure-registry 192.168.1.22:81

重新加载配置并重启

systemctl daemon-reload
systemctl restart docker.service

2、登陆harbor仓库

[root@Jenkins docker-data]# docker login -u admin -p Harbor12345 192.168.1.22:81
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@Jenkins docker-data]#

###上传镜像到私有库
docker pull nginx
docker tag nginx:latest 192.168.1.22:81/lgh/nginx:v1.0
docker push 192.168.1.22:81/lgh/nginx:v1.0

刷新Harbor页面,nginx已上传到私服

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/572662.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号