前两天测试服务docker化并k8s布署时,出于方便,使用了docker hub。由于我们的代码是要放到镜像里的,通过运行容器,便能获取我们的全部代码,风险很大。所以我们决定进行私有化的镜像部署。
经过调研,决定使用harbor这个开源项目。

项目介绍

版本 harbor-offline-installer-v2.1.0.tgz
 
优点:
本身自代 docker 私有仓库
支持基于角色的权限管理
支持 LDAP

安装

harbor支持k8s的helm安装和本地安装,我这次先择的安装方式是本地安装。
我的运行环境是 Centos7.2。

0. 前置条件

需要安装docker并运行
yum install docker # 安装docker
systemctl start docker # 运行docker服务
需要安装docker-compose
yum install docker-compose

1. 下载安装包

直接选择编译好的包
这里有两个包Harbor offline installer 和 Harbor online installer,两者的区别的是 Harbor offline installer 里就包含的 Harbor 需要使用的镜像文件。
下载成功,并解压
cd /usr/local/src
 
 
tar -zxvf harbor-offline-installer-v2.1.0.tgz
进入解压的目录,并 ls
harbor.v1.7.1.tar.gz 里就是 Harbor 用到的镜像

2. 编辑配置文件

 vim harbor.yml
 
 
 
hostname: 192.168.33.70  #本机ip
customize_crt: false  #可以http访问 
    

为了可以http访问 需要编辑

vi /etc/docker/daemon.json
 
{
"registry-mirrors": ["https://a4fyjv0u.mirror.aliyuncs.com"],
"insecure-registries": [
    "192.168.33.70"
  ]
}

重启docker

systemctl restart docker
 
docker-compose restart

3. 运行

修改完配置文件后,运行 ./prepare,它会哪所配置文件修改一文件
运行 ./install.sh
运行成功,docker ps 查看,可以看到服务已经起来了。
如果报错https那把相关配置注释即可
# https related config
#https:
  # https port for harbor, default is 443
# port: 443
  # The path of cert and key files for nginx
  #certificate: /your/certificate/path
  #private_key: /your/private/key/path

4. 常用管理命令

停止服务: docker-compose stop
开始服务: docker-compose start

GUIl界面使用

1. 新建项目

新建一个项目,命名为 ainirobot,并设置访问级别为公开。
这里的项目就是一私有化的Docker镜像仓库。

上传镜像

1. 修改Docker配置

docker 默认是按 https 请求的,由于我搭的私有库是 http 的,所以需要修改 docker 配置,将信任的库的地址写上
修改文件 /etc/docker/daemon.json
{
"insecure-registries": [
“192.168.33.70"
]
}
然后重启docker
systemctl restart docker

2. 制作镜像

将 mongo 制作成一个私有镜像, mongo 为我之前从 docker hub 上拉取的镜像。
docker tag mongo A.B.C.D/ainirobot/nebulae_mongo:0.0.1

3. 上传

1. 先登陆私有库
docker login A.B.C.D
2. PUSH
docker push A.B.C.D/ainirobot/nebulae_mongo:0.0.1
3. 结果
从后台已经能看到这个镜像了

推荐

完成了私有库的搭建后,可以再安装一个k8s集群后台管理系统(wayne系统介绍)。
 
 

harbor搭建与使用的更多相关文章

  1. 企业级镜像仓库harbor搭建

    企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...

  2. Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库

    搭建背景 企业环境中使用Docker环境,一般出于安全考虑,业务使用的镜像一般不会从第三方公共仓库下载.那么就要引出今天的主题 企业级环境中基于Harbor搭建自己的安全认证仓库 介绍 名称:Harb ...

  3. docker 私有仓库之Harbor搭建与使用

    Harbor搭建 下载Harbor: http://harbor.orientsoft.cn/ #下载offline版本 配置Harbor tar xvf harbor-online-installe ...

  4. docker的私有化仓库harbor搭建

    目前比较流行的docker私有化仓库是harbor,harbor是一个github开源的项目,直接在github上搜索即可,下载地址:https://github.com/goharbor/harbo ...

  5. harbor搭建及使用

    harbor搭建及使用   1 系统及软件版本 1.1 系统版本 # uname -a Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP ...

  6. 搭建docker镜像仓库(二):使用harbor搭建本地镜像仓库

    目录 一.系统环境 二.前言 三.Harbor 四.使用harbor搭建私有镜像仓库 4.1 环境介绍 4.2 k8smaster节点安装配置harbor 4.2.1 安装harbor离线包 4.2. ...

  7. 企业级仓库harbor搭建

    1.Harbor是什么? Harbor是Vmvare中国团队开发的开源registry仓库,相比docker官方拥有更丰富的权限权利和完善的架构设计,适用大规模docker集群部署提供仓库服务.在企业 ...

  8. 【K8S】基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境(环境搭建篇)

    写在前面 最近在 K8S 1.18.2 版本的集群上搭建DevOps环境,期间遇到了各种坑.目前,搭建环境的过程中出现的各种坑均已被填平,特此记录,并分享给大家! 服务器规划 IP 主机名 节点 操作 ...

  9. Kubernets二进制安装(5)之私有仓库harbor搭建

    在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor harbor下载地址: harbor下载连接地址:https://github.com/goharbor/ha ...

随机推荐

  1. transition实现图片轮播

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. oracle之DML和DDL语句的其他用法

    DML和DDL语句的其他用法 17.1 DML语句-MERGE 作用:把数据从一个表复制到另一个表,插入新数据或替换掉老数据. Oracle 10g中MERGE有如下一些改进: 1.UPDATE或IN ...

  3. pytest封神之路第三步 精通fixture

    首先放一句"狠话". 如果你不会fixture,那么你最好别说自己会pytest. (只是为了烘托主题哈,手上的砖头可以放下了,手动滑稽) fixture是什么 看看源码 def ...

  4. 【转】Locust 性能测试-小案例(1)-环境搭建

    说在前面的话:从这节课开始,将讲解Locust作为一款测试工具,要怎么去应用.首先是"小案例"的系列文章,主要是给大家讲解locustfile也就是场景模拟的一些模式和方法.等到& ...

  5. 条件编译(debug)

    1. #ifdef 标识符 代码段1 #else 代码段2(可以为空) #endif (条件编译结束语句,和#ifdef配套使用) 如果标识符被#define过,则编译代码段1,否则编译代码段2 2. ...

  6. 栈帧的内部结构--操作数栈(Opreand Stack)

    每个栈帧中包含: 局部变量表(Local Variables) 操作数栈(Opreand Stack) 或表达式栈 动态链接 (Dynamic Linking) (或指向运行时常量的方法引用) 动态返 ...

  7. BUUCTF[归纳]sql注入相关题目

    这是我自己对于sql注入的部分ctf题型的归纳,均来自buuctf的平台环境. [0CTF 2016]piapiapia 我尝试了几种payload,发现有两种情况. 第一种:Invalid user ...

  8. JAVA MD5加密算法实现与原理解析

    public static String md5Encode(String inputStr) { MessageDigest md5 = null; try { md5 = MessageDiges ...

  9. puTTY远程登录时,连接不上

    可能接收远程登录的SSH服务没启动 解决办法,控制台输入,service sshd start

  10. Windows下设置Mongodb用户名密码

    MongoDB认证: 在默认的情况下,Mongodb是监听在127.0.0.1 IP上的,端口号默认为27017,任何客户端都可以连接,不需要认证 默认情况下,Mongodb也是没有管理账户的,除非你 ...