zoukankan      html  css  js  c++  java
  • dockerhub私有镜像仓库harbor部署

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

    一、docker-ce及docker-compose安装

    1.安装docker-ce

    安装一些必要的系统工具

    yum install -y yum-utils device-mapper-persistent-data lvm2


    添加docker镜像源

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    安装 Docker-CE

    yum -y install docker-ce

    开启Docker服务

    systemctl start docker.server

    备注:

    WARNING: bridge-nf-call-iptables is disabled
    WARNING: bridge-nf-call-ip6tables is disabled

    #请添加内核配置参数以启用这些功能。
    $ sudo tee -a /etc/sysctl.conf <<-EOF
    net.bridge.bridge-nf-call-ip6tables = 1
    net.bridge.bridge-nf-call-iptables = 1
    EOF
    然后重新加载 sysctl.conf 即可

    $ sudo sysctl -p

    2.安装docker-compose
    curl -L https://github.com/docker/compose/releases/download/1.18.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    #查看版本
    docker-compose version
     

    二、安装Harbor

    从 github harbor 官网 release 页面下载指定版本的安装包。

    这里推荐使用离线安装,方便内部局域网搭建私有仓库

    如果服务器可以访问github,可以使用如下命令安装

    下载

    wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz

    解压
    tar xvf harbor-offline-installer-v1.1.2.tgz

    如果服务器无法访问github

    我们可以先在本机访问https://github.com/goharbor/harbor/releases下载最新版

    这里以笔者部署时最新版本1.8.0为例,注意,要下载offline版本,大概有500M

    下载后上传到服务器的某个路径下,在该路径下执行解压命令

    tar xvf harbor-offline-installer-v1.8.0.tgz

    解压完成之后查看

    在第一次启动之前是没有docker-compose文件的,这里先忽略。

    接下来,修改配置文件harbor.yml

    (备注:如果在修改配置文件之前已经启动,可以仍在解压的路径下执行docker-compose down -v 停止并删除正在运行的实例)

    配置文件修改如下几处

    hostname配置成解析好的二级域名

    开启https,并且将申请的ssl证书上传到服务器指定目录下(这个我们可以任意指定,只要保证和配置文件中的路径一致即可)

    开启https之后,以后的访问都会自动重定向到https地址

    控制台默认的用户名为admin,密码是Harbor12345

    配置文件修改完成之后,可以进行初始化启动

    ./install.sh

    如果之前已经启动过则先停止并删除容器实例

    docker-compose down -v

    在重启生成配置

    ./prepare

    最后启动

    docker -compose up -d

    启动完成后,我们访问刚设置的hostname即可 https://harbor.efcore.cn,默认是443端口,如果端口占用,我们可以去修改docker-compose.yml文件中,对应服务的端口映射。windos,hosts文件地址:C:WindowsSystem32driversetc,将域名与ip添加进去即可。 
     

    登录之后,可以看到系统功能模块如下

    项目:新增/删除项目,查看镜像仓库,给项目添加成员、查看操作日志、复制项目等
    日志:仓库各个镜像create、push、pull等操作日志
    系统管理 
    用户管理:新增/删除用户、设置管理员等
    复制管理:新增/删除从库目标、新建/删除/启停复制规则等
    配置管理:认证模式、复制、邮箱设置、系统设置等
    其他设置 
    用户设置:修改用户名、邮箱、名称信息
    修改密码:修改用户密码
     

    最后,我们来进行测试

    首先新建一个项目,命名为dotnet

    我们根据需要决定是否公开,公开的镜像不需要docker login即可直接docker pull拉取

    新建项目完毕后,我们就可以用admin账户提交本地镜像到Harbor仓库了

    docker login harbor.efcore.cn

    docker images

    docker tag k8sdemo harbor.efcore.cn/dotnet/k8sdemo:v1.0

    (备注:tag为latest的可以直接写镜像名称)

    docker push harbor.efcore.cn/dotnet/k8sdemo:v1.0

    推送成功后,即可在dotnet项目下查看到该镜像

    接下来我们尝试pull到服务器上

    docker pull harbor.efcore.cn/dotnet/k8sdemo:v1.0

    然后尝试启动

    在通过ip+端口访问API,一整套harbor部署流程到此结束

    切换项目的私有和公开属性,在项目的配置管理中选中或反选,然后保存即可。

    取消公开后需要docker login才能拉取镜像

    如在安装或部署中遇到其他问题,请前往https://github.com/goharbor/harbor/issues

    参考https://github.com/goharbor/harbor/tree/release-1.8.0/docs

    https://blog.csdn.net/weixin_41465338/article/details/80146218?utm_source=blogxgwz0

  • 相关阅读:
    初识EntityFramework6
    EntityFramework6 快速入门教程
    使用EntityFramework6连接MySQL
    Less的安装与配置
    Gitlab-CI持续集成之Runner配置和CI脚本
    CPU简单科普
    Mysql技能之【性能优化方案】
    自动化测试探索学习之路(1)
    性能测试知识之基础理论
    http协议、cookie及session
  • 原文地址:https://www.cnblogs.com/ityunwei/p/14434092.html
Copyright © 2011-2022 走看看