• docker搭建私有仓库


    一. 安装docker

    1. docker一键安装命令:

    curl -sSL https://get.daocloud.io/docker | sh
    
    • 1

    2. 启动docker

    systemctl start docker
    
    • 1

    二. 搭建镜像仓库

    拉取Registry私有镜像仓库,在我们本地搭建一个内网的仓库,避免将一些私密项目暴露在公网,引发不必要的风险

    1. 下载Registry镜像

    docker pull registry
    
    • 1

    在这里插入图片描述

    2. 运行Registry镜像

    docker run -d --name registry -p 5000:5000 -v /storage/registry:/tmp/registry registry
    
    • 1

    3. 查看镜像仓库中的所有镜像

    curl http://127.0.0.1:5000/v2/_catalog
    
    • 1

    下图返回的json数据代表暂无任何仓库,因为我们还没有上传任何镜像。

    在这里插入图片描述

    三. 配置仓库可直接通过http方式访问

    docker默认是传输方式使用https协议,我们手头上没有sttps证书,所以此处不配置https证书,直接设置可信源,使我们内网可以通过http方式访问

    1. 修改vim /etc/docker/daemon.json,添加以下内容:

    没有daemon.json文件则新建.

    { 
        "insecure-registries" : [ "your-server-ip:5000" ] 
    
    • 1
    • 2

    ![在这里插入图片描述](https://img-blog.csdnimg.cn/d677c3ce5ae04a55b4a5a51bc28e0733.png

    2. 重新加载、重启docker、启动镜像

    systemctl daemon-reload
    systemctl restart docker
    docker start registry
    
    • 1
    • 2
    • 3

    四. 上传镜像至仓库

    1. 查看镜像

    docker images
    
    • 1

    2. 将要上传的镜像打Tag

    docker tag your-image-name:tagname your-server-ip:5000/your-image-name:tagname
    
    • 1

    在这里插入图片描述

    3. 把镜像推送到仓库

    docker push your-registry-server-ip:5000/your-image-name:tagname
    
    • 1

    在这里插入图片描述

    4.再次验证是否推送成功

    curl http://your-server-ip:5000/v2/_catalog
    
    • 1

    可以看见{"repositories":["registry"]},说明已经推送成功,有一个registry镜像了

    在这里插入图片描述

    五. 客户端下载镜像

    现在在本机测试能否下载刚刚上次的镜像,如果此处是在另一台客户机下载,注意要配置http方式访问。

    1. 修改vim /etc/docker/daemon.json添加以下内容:

    { 
        "insecure-registries" : [ "your-server-ip:5000" ] 
    }
    
    • 1
    • 2
    • 3

    2. 重新加载docker

    systemctl daemon-reload
    systemctl restart docker
    
    • 1
    • 2

    3. 下载镜像

    docker pull 10.168.6.109:5000/registry:latest
    
    • 1
  • 相关阅读:
    git修改文件名称提交
    【pytest】 pytest拓展功能 pycharm PermissionError: [Errno 13] Permission denied:
    Android开发基础——自定义控件
    【JavaScript】制作一个抢红包雨页面
    CAT-Seg: Cost Aggregation for Open-Vocabulary Semantic Segmentation
    Qt应用开发(进阶篇)——线程 QThread
    Spring Gateway使用JWT实现统一身份认证
    3个云渲染平台的价格体系,哪个最合适(四)
    QT day2
    SpringBoot之yaml
  • 原文地址:https://blog.csdn.net/embelfe_segge/article/details/126327581