zoukankan      html  css  js  c++  java
  • docker构建私有registry

    1. 启动registry

    docker run -d -p 5000:5000 --restart=always --name registry -v /opt/registry:/var/lib/registry  registry
    
    -p  端口映射; 宿主机:容器内端口
    --restart-always 重启docker后自动拉起该容器
    --name 指定容器名称
    -v 挂在数据卷; 宿主机目录:容器内目录
    registry 这就是一个镜像名称,如centos7一样
    注: 启动起来的容器就用来作为私有的镜像仓库, 显然现在该仓库里什么也没有, 那么该如何操作呢?

    2. 修改配置文件

    docker pull时默认找的是docker官方的仓库, 既然要做私有的仓库, 首先记得修改配置让docker能识别本地仓库才行
    
    vim /安装目录/daemon.json
    {
       "insecure-registries": ["10.0.0.100:5000"]  -- 配置私有地址:端口
    }

    systemctl restart docker -- 重启后docker就能识别配置的该仓库了

    3. 给本地镜像仓库上传镜像

    使用push给镜像仓库上传镜像, 但是格式上有要求, 如下:
    10.0.0.100:5000/name/nginx:v1
    10.0.0.100:5000/项目名称/功能名:版本
    
    上传第一步:
    给要上传的镜像打tag
    docker tag 镜像id 10.0.0.100:5000/name/nginx:v1
    
    开始上传:
    docker push 10.0.0.100:5000/name/nginx:v1

    从仓库拉取镜像:
    docker pull 10.0.0.100:5000/name/nginx:v1

    4. 至此, 构建的私有镜像仓库就可以使用了, 但是不安全, 无验证功能, 如何添加?

    4.1 本地仓库加安全认证

    生成密码:
    yum install httpd-tools -y
    mkdir /opt/registry-auth/ -p
    htpasswd  -Bbn 账号 密码 > /opt/registry-auth/htpasswd

    4.2 重新启动带有密钥功能的registry容器, 原来启动的容器不再使用

    docker run -d -p 5000:5000 -v /opt/registry-auth/:/auth/ -v /opt/registry:/var/lib/registry  --name register-auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" registry 
    
    -v 参数挂载了两个目录
    -e 指定的这些是固定写法

     4.3 此时push是需要先登录再push, 否则报错

    [root@oldboy ~]# docker login 10.0.0.100:5000
    Username: 账号  
    Password: 密码

     4.4 pull时不用登录认证就可以的, 至此构建私有镜像仓库就完成了, 

    缺陷: 暂时不知道如何查看构建的私有镜像仓库中的所有上传的镜像

    5. habor实现图形化register

    第一步:安装docker和docker-compose
    yum install -y docker-compose 
    第二步:下载harbor-offline-installer-vxxx.tgz
    第三步:上传到/opt,并解压
    第四步:修改harbor.cfg配置文件
    hostname = 10.0.0.11
    harbor_admin_password = 123456
    第五步:执行install.sh
  • 相关阅读:
    [LC] 252. Meeting Rooms
    [LC] 243. Shortest Word Distance
    [LC] 215. Kth Largest Element in an Array
    [LC] 8. String to Integer (atoi)
    [LC] 367. Valid Perfect Square
    [LC] 66. Plus One
    [LC] 7. Reverse Integer
    [GeeksForGeeks] Print all nodes that don't have sibling in a binary tree.
    [Coding Made Simple] Maximum Sum Subsequence Non-adjacent
    [Coding Made Simple] Longest Bitonic Subsequence
  • 原文地址:https://www.cnblogs.com/quzq/p/13483120.html
Copyright © 2011-2022 走看看