• 搭建harbor私有镜像仓库


    Harbor 环境准备:

    docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。

    1. docker 安装:docker安装与卸载

    2. Docker-compose 安装:从 github 上下载它的二进制包进行安装:(https://github.com/docker/compose/releases)注意:要安装其他版本的 Compose,请替换 v2.3.4。

    sudo curl -L "https://github.com/docker/compose/releases/download/v2.3.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    将可执行权限应用于二进制文件:

    sudo chmod +x /usr/local/bin/docker-compose

    创建软链:

    sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

     测试是否安装成功:

    docker-compose --version

    Harbor 服务搭建

    1.本地下载Harbor安装文件、上传至服务器、解压文件、修改配置。从 【github harbor官网 release】 页面下载指定版本的安装包,拖到服务器/root/目录下进行解压:

    tar -zxf harbor-offline-installer-v2.2.2-rc1.tgz 
    cd harbor 
    mv harbor.yml.tmpl harbor.yml
    vim harbor.yml 

    2. 开始安装harbor:修改完配置文件后,在的当前目录执行:

     ./install.sh

    harbor服务就会根据当期目录下的 docker-compose.yml 开始下载依赖的镜像,检测并按照顺序依次启动各个服务。

    3. 安装完成查看状态:

    docker-compose ps

    4.harbor的停止与启动

    cd harbor
    docker-compose down   #停止
    docker-compose up -d  #启动

    5.访问harbor首页:访问刚设置的 hostname 即可,默认是80端口,如果端口占用,可以去修改docker-compose.yml文件中,对应服务的端口映射。

    登录密码:admin , 登录密码:Harbor12345。

    通过 http 请求访问 harbor

    如果安装harbor是通过http请求访问harnor镜像仓库,则 必须在 /etc/docker/daemon.json 增加字段 --insecure-registry,填写 如下:

    {
      "registry-mirrors": ["https://k1ktap5m.mirror.aliyuncs.com"],
      "insecure-registries": ["http://192.168.0.1:80"]
    }

    重启docker

    systemctl restart docker

    停止harbor

    docker-compose down -v

    重启harbor

    docker-compose up -d

    docker push 镜像:

    登录镜像仓库:

    [root@centos7 ~]# docker login 192.168.0.1:80
    Username: admin
    Password: 
    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

    推送harbor镜像的命令格式如下:

    docker push 192.168.0.1:80/library/REPOSITORY[:TAG]

    看命令就知道,docker push后面的其实就是打标记的时候标记。

    命令如下:

    [root@centos7 ~]# docker tag centos:latest 192.168.0.1:80/library/centos:latest
    [root@centos7 ~]# docker push 192.168.0.1:80/library/nginx:latest
    The push refers to repository [192.168.211.5:80/library/nginx]
    fac15b2caa0c: Pushed 
    f8bf5746ac5a: Pushed 
    d11eedadbd34: Pushed 
    797e583d8c50: Pushed 
    bf9ce92e8516: Pushed 
    d000633a5681: Pushed 
    latest: digest: sha256:6fe11397c34b973f3c957f0da22b09b7f11a4802e1db47aef54c29e2813cc125 size: 1570

     

    参考资料

    1. Docker搭建Harbor私有仓库

    2. [基于harbor部署私有仓库] 4 推送镜像到harbor

    3. Connecting to Harbor via HTTP

  • 相关阅读:
    es6新增特性,数组的操作方法
    导航钩子有哪几种,如何将数据传入下一个点击的路由页面
    父组件如何获取子组件数据,子组件如何获取父组件数据,父子组件如何传值
    watch和computed的区别
    vue页面中定时器的使用
    table表格,顶端对齐
    计算机组成原理8-FPGA、ASIC、TPU、虚拟机
    vue中使用socket连接后台
    计算机组成原理7-CISC和RISC、GPU
    计算机组成原理6-流水线、多发射和超标量、SIMD、异常
  • 原文地址:https://www.cnblogs.com/sunbines/p/16295601.html
Copyright © 2020-2023  润新知