美文网首页
docker 搭建私有仓库&用户密码认证&web可视化界面

docker 搭建私有仓库&用户密码认证&web可视化界面

作者: 雄关漫道从头越 | 来源:发表于2019-12-16 18:09 被阅读0次

    docker创建带有用户密码认证和web可视化界面的私有仓库
    Docker搭建带有访问认证的私有仓库

    踩了两天的坑,试了很多个方案,这个是最简单易用的,记录一下,供大家参考。
    这里用到docker-compose来管理多个容器,配置文件写好了,使用起来非常方便。

    一、环境信息:

    操作系统:阿里云ces Ubuntu 18.04 64位
    Docker版本:19.03.5 (其他版本应该类似)
    registry:latest
    registry-web: hyper/docker-registry-web:latest

    二、搭建前准备

    1.拉取镜像
    docker pull hyper/docker-registry-web
    docker pull registry
    
    2.下载docker-compose

    官网下载链接:https://docs.docker.com/compose/install/

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

    注意:使用下载命令有时候不成功,但是又不会报任何错误,此时需要自己去github上下载,参考链接:docker-compose命令不存在、docker-compose not found

    三、搭建过程

    (1)创建存放配置文件和私有仓库镜像的存储目录

    mkdir -p /usr/local/docker-registry/conf/registry   #存放仓库的配置信息
    mkdir -p /usr/local/docker-registry/conf/registry-web #存放仓库UI界面的配置信息
    mkdir -p /usr/local/docker-registry/registry  #存放仓库的镜像
    mkdir -p /usr/local/docker-registry/db  #仓库的访问信息
    
    (2)生成证书
    openssl req -new -newkey rsa:4096 -days 365 \
                    -subj "/CN=172.28.162.113" \
                    -nodes -x509  \
                    -keyout /usr/local/docker-registry/conf/registry-web/auth.key \
                    -out /usr/local/docker-registry/conf/registry/auth.cert
    
    (3)创建仓库的配置文件
    vi /usr/local/docker-registry/conf/registry/config.yml
    

    内容如下:

    version: 0.1
     
    storage:
      filesystem:
        rootdirectory: /var/lib/registry
     
    http:
      addr: 0.0.0.0:5000
     
    auth:
      token:
        realm: http://10.10.10.99:50000/api/auth
        service: 10.10.10.99:5000
        issuer: 'admin'
        rootcertbundle: /etc/docker/registry/auth.cert
    
    (4)创建仓库UI的配置文件
    vi /usr/local/docker-registry/conf/registry-web/config.yml
    

    内容如下:

    registry:
        url: http://10.10.10.99:5000/v2
        name: 10.10.10.99:5000
        readonly: false
        auth:
            enabled: true
            issuer: 'admin'
            key: /conf/auth.key
    

    (5)创建docker-compose启动配置文件

    version: '2'
    services:
      registry-web:
        image: hyper/docker-registry-web:latest
        ports:
          - 50000:8080
        volumes:
            - /usr/local/docker-registry/conf/registry-web:/conf:ro
            - /usr/local/docker-registry/db:/data
        networks:
          - registry-net
        depends_on:
          - registry
        restart: always
      registry:
        image: registry:2.4.1
        ports:
          - 5000:5000
        volumes:
          - /usr/local/docker-registry/conf/registry:/etc/docker/registry:ro
          - /usr/local/docker-registry/registry:/var/lib/registry
        environment:
          - REGISTRY_STORAGE_DELETE_ENABLED=true
        networks:
          - registry-net
        restart: always
    networks:
      registry-net:
        driver: default #如果报错就注掉
    

    yml文件主要格式,每一级都要缩进,最好用一个tab键,切记,如果启动失败,一定好好检查这几个配置文件,特别是空格(tab键)。

    (6)通过docker-compose拉取镜像启动容器

    docker-compose up -d 
    

    OK,启动完成


    网页登录

    到此所有的搭建已经结束。
    可以打开浏览器输入:10.10.10.99:50000



    阿里云自己开端口就不用我提醒了吧。
    输入账号密码登录,默认是admin/admin,可以登录后修改,默认账号只有ui的管理功能,如果需要push功能还需要自己配置权限。
    配置权限

    也可以使用docker命令登录:

    docker login 10.10.10.99:5000
    

    相关文章

      网友评论

          本文标题:docker 搭建私有仓库&用户密码认证&web可视化界面

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