• docker搭建私有仓库


     1、安装运行私有register容器

     docker run -d -v /myregistry:/var/lib/registry -p 5000:5000 --name xuRegistry registry
    

     参数说明:

    -d 后台启动容器

    -p 端口映射  将容器的5000端口映射到Host的5000端口

    -v  将容器的/var/lib/registry目录映射到Host的myregistry,用于存放镜像数据

    验证是否成功可以通过访问 http:// host:5000/v2

    2、push镜像到仓库 

      Note:以推送hello-world到私有仓库为例

     2.1 docker images查看所有镜像

      

    2.2 通过docker tag将hello-world镜像标志为要推送到私有仓库,镜像名称由repository和tag两部分组成

    而repository的完整格式为:host:post/username/xxx,只有Docker Hub上的镜像可以省略:host:post

    docker tag hello-world:latest hostip:5000/xu/hello-world:latest 

    2.3  通过 docker push 命令将hello-world镜像 push到私有仓库中

     docker push  hostip:5000/xu/hello-world:latest
    

    Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时出现以下错误。 

    http: server gave HTTP response to HTTPS client

    解决方案:

    方案一:

    vim /usr/lib/systemd/system/docker.service 

    在12行后面增加  --insecure-registry  host:5000 

    修改好后重启docker 服务

    systemctl daemon-reload 
    
    systemctl restart docker.service 

    重启docker服务后,将容器重启

    docker start $(docker ps -aq)
    

     方案二:

    vim  /etc/docker/daemon.json 
    增加内容
    { 
        "insecure-registries": ["host:5000"] 
    }  

    修改好后重启docker 服务

    systemctl daemon-reload 
    
    systemctl restart docker.service 

    重启docker服务后,将容器重启

    docker start $(docker ps -aq)
     然后重新push到私有库,应该就能成功了

     可以通过访问host:5000/v2/_catalog验证推送是否成功

      
  • 相关阅读:
    centos 7 安装zabbix 4.0
    django Middleware
    初探paramiko
    python中的反射
    python异常处理
    双绞线
    简易的CMDB服务端
    4-初识Django Admin
    数据资产管理实践纲要
    matplotlib 散点图,为不同区域的点添加不同颜色
  • 原文地址:https://www.cnblogs.com/shiding/p/16515223.html
Copyright © 2020-2023  润新知