zoukankan      html  css  js  c++  java
  • Docker Harbor搭建与使用(k8s有关)

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

    经过调研,决定使用harbor这个开源项目。

    项目介绍

    harbor git 地址

    优点:

    1. 本身自代 docker 私有仓库
    2. 支持基于角色的权限管理
    3. 支持 LDAP

    安装

    harbor支持k8s的helm安装和本地安装,我这次先择的安装方式是本地安装。

    我的运行环境是 Centos7.2。

    0. 前置条件

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

    1. 下载安装包

    直接选择编译好的包
    在这里插入图片描述

    这里有两个包Harbor offline installerHarbor online installer,两者的区别的是 Harbor offline installer 里就包含的 Harbor 需要使用的镜像文件。

    下载成功,并解压

    tar -zxvf harbor-offline-installer-v1.7.1.tgz
    
    • 1

    进入解压的目录,并 ls
    在这里插入图片描述

    harbor.v1.7.1.tar.gz 里就是 Harbor 用到的镜像

    2. 编辑配置文件

    harbor.cfg 是这个项目的配置文件

    1. 修改 hostname 先项

    将 hostname 改成你本机的网址或IP

    hostname = A.B.C.D  # 写你自己的网址或IP,公网访问要写公网IP
    
    2. 支持Http 访问
    customize_crt = false
    

    3. 运行

    1. 修改完配置文件后,运行 ./prepare,它会哪所配置文件修改一文件
    2. 运行 ./install.sh

    运行成功,docker ps 查看,可以看到服务已经起来了。
    在这里插入图片描述

    4. 常用管理命令

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

    GUIl界面使用

    1. 新建项目

    新建一个项目,命名为 ainirobot,并设置访问级别为公开。
    在这里插入图片描述

    这里的项目就是一私有化的Docker镜像仓库。

    上传镜像

    1. 修改Docker配置

    docker 默认是按 https 请求的,由于我搭的私有库是 http 的,所以需要修改 docker 配置,将信任的库的地址写上
    修改文件 /etc/docker/daemon.json

    {
      "insecure-registries": [
        "A.B.C.D"
      ]
    }
    

    然后重启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系统介绍)。

  • 相关阅读:
    alpha版、beta版、rc版的意思
    回车符(CR)与换行符(LF), ' '和' '的区别
    html 图像映射(一个图像多个连接)
    前端工程师需要明白的「像素」
    通过设置Ionic-Cli代理解决ionic serve跨域调试问题
    Bootstrap Table使用方法详解
    写给移动开发者的 React Native 指南
    Mac中搭建 iOS 的 React Native 环境
    Windows版本搭建安装React Native环境配置及相关问题
    javascript获取wx.config内部字段解决微信分享
  • 原文地址:https://www.cnblogs.com/boonya/p/13624250.html
Copyright © 2011-2022 走看看