美文网首页
使用harbor搭建docker私仓

使用harbor搭建docker私仓

作者: 潘祖龙 | 来源:发表于2017-06-19 16:27 被阅读0次

    开始使用docker registry搭建私仓,后来发现VMware 开源的Harbor更好。

    • proxy:由 Nginx 服务器构成的反向代理。
    • registry:由 Docker 官方的开源 registry 镜像构成的容器实例。
    • ui:即架构中的 core services, 构成此容器的代码是 Harbor 项目的主体。
    • mysql:由官方 MySql 镜像构成的数据库容器。
    • log: 运行着 rsyslogd 的容器,通过 log-driver 的形式收集其他容器的日志。
    • adminserver

    1、安装过程

    前提条件:

    Harbor使用几个Docker容器来部署的,因此部署Harbor的节点上要求安装好Docker服务,同时要求安装好Python如下:

    • Python应该在2.7或以上版本
    • Docker engine应该在1.10或以上版本
    • Docker Compose需要在1.6.0或以上版本

    1.1.2不能停用防火墙,要不然安装报错

    安装Docker Compose

    curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    chmod +x /usr/local/bin/docker-compose
    

    Harbor的安装:

    1、下载安装包并解压

    tar xvf harbor-offline-installer-<version>.tgz

    2、配置harbor.cfg文件

    需修改hostname,别的使用缺省值

    3、执行install.sh脚本安装并启动

    ./install.sh
    后来修改配置后执行./prepare
    再重新启动

    登录并创建自己的镜像仓库(初始用户名/密码初始化为:admin/Harbor12345)。
    这里我们使用HTTP方式,那么访问地址为:
    http://192.168.100.18

    管理的常用命令

    Harbor的生命周期管理 你可以使用docker-compose来管理Harbor的生命周期,需在harbor目录中执行

    启动:

    docker-compose start
    docker-compose up -d是不是初次启动?

    停止

    docker-compose stop

    移除

    docker-compose rm ,会 保留相关镜像文件
    如果想删除数据的话,执行:
    rm -r /data/database
    rm -r /data/registry

    查看容器状态:

    docker-compose ps

    修改配置文件,执行如下步骤:

    docker-compose down -v会删除容器
    vim harbor.cfg
    ./install.sh

    客服端登录:

    docker login -u 用户名 -p 密码 服务器地址
    如果访问被拒绝,需在客服端机器上修改配置文件/etc/sysconfig/docker
    ADD_REGISTRY='--add-registry 192.168.100.18'
    OPTIONS='--insecure-registry 192.168.100.18'
    重新启动docker就可以登录了

    上传镜像文件

    • docker tag 192.168.100.18/项目名称/ubuntu
      如果项目名称为library,则为公开镜像,其它也新建项目再上传,为私有镜像,如demo
    • docker push 192.168.100.18/library/ubuntu

    下载镜像文件

    • docker pull 192.168.100.18/library/ubuntu
      在项目里添加其它用户,这样用户就可以下载私有镜像文件
    openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
    openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.key -out harbor.csr
    echo subjectAltName = IP:192.168.100.18 > extfile.cnf
    openssl x509 -req -days 365 -in harbor.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out harbor.crt
    ./prepare
    docker-compose down
    docker-compose up -d
    

    新建目录/etc/docker/certs.d/192.168.100.18(or your registry host IP),将ca.crt拷贝到这个目录中,重启docker。docker pull 不用登录,push还是要登录。
    参考资料:基于Harbor和CephFS搭建高可用Private Registry

    基于 Docker Distribution 的企业级 Registry 服务

    相关文章

      网友评论

          本文标题:使用harbor搭建docker私仓

          本文链接:https://www.haomeiwen.com/subject/fwmgqxtx.html