Docker搭建私有仓库之Harbor的步骤

Harbor

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

一、搭建Harbor私有仓库

Harbor私有仓库和Registry私有仓库相比,功能强大很多,并且支持web图形化管理,所以在企业中非常受到欢迎!

1)案例描述

两台docker服务器,dockerA创建Harbor私有仓库,dockerB用于测试!

1、DockerA服务器的操作

[root@dockerA ~]# yum -y install yum-utils device-mapper-persistent-data lvm2
//下载docker-compose工具所需的依赖(部署docker环境时,就可以安装了)
[root@dockerA ~]# curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
//下载docker-compose工具
[root@dockerA ~]# chmod +x /usr/local/bin/docker-compose
[root@dockerA ~]# docker-compose -v
docker-compose version 1.25.0, build 0a186604
//查看docker-compose工具版本信息,确保已经安装成功

配置Harbor

同样也是上github官网搜索,找到相应的版本即可,这里就不多做截图了!
网址:https://github.com/goharbor/harbor/releases
如图:

[root@dockerA ~]# wget https://storage.googleapis.com/harbor-releases/release-1.7.0/harbor-offline-installer-v1.7.4.tgz
//下载harbor软件包
[root@dockerA ~]# tar zxf harbor-offline-installer-v1.7.0.tgz -C /usr/local
[root@dockerA ~]# cd /usr/local/harbor/
[root@dockerA harbor]# vim harbor.cfg
//编写其配置文件,其他版本默认是cfg结尾的,这个版本是yml结尾的,文件内容都一样的
hostname=192.168.45.129         //更改其为本机的IP地址
harbor_admin_password: Harbor12345
//这一行原本就是存在,不需要自行填写,只需记得它的用户名和密码即可,有需要可以自行进行修改
[root@dockerA harbor]# ./install.sh        //执行安装脚本

[root@dockerA harbor]# vim /usr/lib/systemd/system/docker.service
//编写docker主配置文件
 ExecStart=/usr/bin/dockerd --insecure-registry 192.168.45.129
 //跟registry差不多,主要harbor配置文件中没有填写端口号,这里也可添加,否则可能会出现错误
[root@dockerA harbor]# systemctl daemon-reload
[root@dockerA harbor]# systemctl restart docker      //重新启动docker服务
[root@dockerA harbor]# pwd
/usr/local/harbor             //注意目录,必须在这个目录下
[root@dockerA harbor]# docker-compose start
//使用docker-compose工具启动所有容器(因为在重新启动docker时,所有的容器都已经关闭了)
[root@dockerA harbor]# netstat -anpt | grep 80       //确认80端口在监听
tcp6    0   0 :::80          :::*          LISTEN   22871/docker-proxy 

客户端访问web页面:


上传镜像

仓库搭建完成后,接着在dockerA(harbor)服务器上上传镜像!
[root@dockerA harbor]# docker login -u admin -p Harbor12345 192.168.45.129
//指定用户名、密码及harbor服务器地址登录
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
[root@dockerA ~]# docker tag centos:7 192.168.45.129/test/centos:7
//需要更改镜像名称,test是刚才创建的仓库名称
[root@dockerA ~]# docker push 192.168.45.129/test/centos:7
//向harbor服务器的test仓库上传镜像

上传完成后,如图:

二、在dockerB服务器上测试下载镜像

[root@dockerB ~]# vim /usr/lib/systemd/system/docker.service
//编写docker的主配置文件
 13 ExecStart=/usr/bin/dockerd --insecure-registry 192.168.45.129
//指定harbor服务器的IP地址
[root@dockerB ~]# systemctl daemon-reload
[root@dockerB ~]# systemctl restart docker    //重新启动docker服务
[root@dockerB ~]# docker login -u admin -p Harbor12345 192.168.45.129
//登录到harbor服务器
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@dockerB ~]# docker pull 192.168.45.129/test/centos:7
//下载镜像进行测试
[root@dockerB ~]# docker images
REPOSITORY          TAG         IMAGE ID      CREATED       SIZE
192.168.45.129/test/centos  7          b5b4d78bc90c    2 months ago    203MB

到此这篇关于Docker搭建私有仓库之Harbor的步骤的文章就介绍到这了,更多相关Docker搭建私有仓库Harbor内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Docker 搭建私有仓库(registry、harbor)

    为什么要弄私有仓库,大多是为了速度,我们再私有仓库中的push和pull的速度是特别快的. 利用registry快速搭建 https://hub.docker.com/_/registry/ Run a local registry: Quick Version $ docker run -d -p 5000:5000 --restart always --name registry registry:2 Now, use it from within Docker: $ docker pull

  • Docker搭建私有仓库(registry与Harbor)的实现

    随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库.目前常用的两种仓库:公共仓库和私有仓库.最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的. 私有仓库最常用的就是registry.Harbor两种,那接下来详细介绍如何创建私有仓库. 一.搭建registry私有仓库 1)案例描述 两台docker服务器,dockerA创建registry私有仓库,dockerB用于测试! 2)案例实例 (1)DockerA服务器的操作 [r

  • docker私有仓库harbor搭建过程

    1.准备 1.1 harbor下载 harbor下载地址:链接添加链接描述 然后我们可以选择自己需要的版本,我这边选择的是v1.8.3 也可以去 wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.3.tgz 1.2 docker安装 docker 安装以及yum源的安装可以参考<docker入门教程(二)>文章. 2.搭建 2.1 解压harbor ta

  • Docker搭建私有仓库之Harbor的步骤

    Harbor Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装, 它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库[注:helm就相当于k8s的yum].另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有

  • docker 如何搭建私有仓库(ubuntu 14.04,Docker版本1.6.4)详细介绍

    docker 搭建私有仓库 本篇文章描述了多个机器可以在内网中访问自己的私有仓库,访问仓库时需要CA认证!最简单,最低保障私有仓库的安全性!在一个比较庞大的集群里,可以运行多个私有仓库的replica,然后借用代理来balance请求! 1.测试环境 本人测试环境为ubuntu 14.04,Docker版本1.6.4(版本稍微比较老,新版本安装流程是一样的).官网上说:You need to install Docker version 1.6.0 or newer. 在阿里云上开了两台机器:

  • docker registry 私有仓库的搭建过程

    目录 摘要 一.环境准备 二.配置registry私有仓库 三.上传与下载镜像 四.配置registry加载身份验证 五. docker registry 私有仓库查询.删除 博文参考 摘要 随着docker使用的镜像越来越多,就需要有一个保存镜像的地方,这就是仓库.目前常用的两种仓库:公共仓库和私有仓库.最方便的就是使用公共仓库上传和下载,下载公共仓库的镜像是不需要注册的,但是上传时,是需要注册的.私有仓库最常用的就是Registry.Harbor两种,那接下来详细介绍如何搭建registry

  • Docker 搭建集群MongoDB的实现步骤

    前言 由于公司业务需要,我们打算自己搭建 MongoDB 的服务,因为 MongoDB 的云数据库好贵,我们这次采用副本集的方式来搭建集群,三台服务器,一主.一副.一仲裁 基本概念 Replica Set 副本集:一个副本集就是一组 MongoDB 实例组成的集群,由一个主(Primary)服务器和多个备份(Secondary)服务器构成 主节点(master):主节点接收所有写入操作.主节点将对其数据集所做的所有更改记录到其 oplog. 副节点(secondary):复制主节点的 oplog

  • 使用Docker搭建私有GitLab的两种方案

    第一种:docker安装 1.拉取开源版本镜像 2.创建对应的数据卷,分别是配置.数据.日志 3.启动容器 4.访问地址 http://ip:8080 即可打开,首次进入需要设置root的密码 第二种:rancher安装 到此这篇关于使用Docker搭建私有GitLab的两种方案的文章就介绍到这了,更多相关Docker搭建GitLab内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

  • Docker搭建部署Node项目的方法步骤

    目录 什么是Docker 客户端Docker Docker基本操作 镜像名称 拉取镜像 其他操作 Dockerfile Docker-compose 构建nginx-node-postgres项目 前段时间做了个node全栈项目,服务端技术栈是 nginx + koa + postgresql.其中在centos上搭建环境和部署都挺费周折,部署测试服务器,接着上线的时候又部署生产环境服务器.这中间就有很多既无聊又费精力,吃力不讨好的"体力活".所以就开始思考怎么自动化这部分搭建部署的工

  • Docker搭建RabbitMQ集群的方法步骤

    目录 集群模式介绍 1.普通集群的搭建 1.1.普通集群架构介绍 1.2.环境准备 1.3.集群搭建 2.镜像集群的搭建 2.1.配置镜像集群的策略 集群模式介绍 RabbitMQ集群模式有两种:普通模式和镜像模式 普通模式:默认模式,多个节点组成的普通集群,消息随机发送到其中一个节点的队列上,其他节点仅保留元数据,各个节点仅有相同的元数据,即队列结构.交换器结构.交换器与队列绑定关系.vhost.消费者消费消息时,会从各个节点拉取消息,如果保存消息的节点故障,则无法消费消息,如果做了消息持久化

  • docker搭建Zookeeper集群的方法步骤

    目录 0.前言 1.前提 2.开始搭建 解释 创建zoo.cfg 3.docker搭建 1.docker创建网络 2.启动第1个zk节点 3.启动第2个zk节点 4.启动第3个zk节点 4.访问节点 1.进入zk第一个节点的docker容器内部 2.使用zk的客户端进行访问 3.在zk中使用命令 0.前言 之前在学springcloud的时候,提到有些项目还是使用zookeeper作为注册中心. 因此决定掌握这个技能,但是本地为了测试而部署一套zookeeper集群还是比较麻烦的. 所以打算使用

随机推荐