• docker(五)构建私有仓库


    这篇文章我们主要讲解创建docker私有仓库。
    简单概述一下,就是docker提供了一个搭建私有仓库的镜像registry ,运行该镜像的容器并且对外暴露5000端口就算是搭建完成了。

    一、安装运行docker-registry

    docker run -d -v /data/registry:/var/lib/registry -p 5000:5000 --name myRegistry registry
    
    • 1

    在这里插入图片描述
    docker ps -a 看一下
    在这里插入图片描述
    可以看出以上命令先是下载了registry镜像,然后运行该镜像容器。
    其中:

    -d 后台启动容器;
    -p 端口映射  将容器的5000端口映射到host的5000端口;
    -v  将容器的/var/lib/registry目录映射到host的/data/registry目录下,用于存放镜像数据。
    	默认情况下,仓库会被创建在容器的/var/lib/registry目录下。
    
    • 1
    • 2
    • 3
    • 4

    二、推送镜像

    我们以hello-world为例,先从公共仓库下载hello-world镜像,为这个镜像打个标签:

    docker tag hello-world:latest 127.0.0.1:5000/hello-world:1.0 
    
    • 1

    打完tag之后如图:
    在这里插入图片描述
    推送镜像:

    docker push 127.0.0.1:5000/hello-world:1.0
    
    • 1

    查看有无推送成功,可以去/data/registry目录下去看,也可以浏览器输入host:5000/v2/_catalog去看,如下图:
    在这里插入图片描述
    或者:
    在这里插入图片描述

    三、从私有仓库下载镜像

    我们先把原来的镜像删了:

    docker rmi 127.0.0.1:5000/hello-world:1.0
    
    • 1

    在这里插入图片描述
    然后从私有仓库下载:

    docker pull 127.0.0.1:5000/hello-world:1.0
    
    • 1

    在这里插入图片描述

    四、取消非https方式推送镜像

    docker默认不允许非https方式推送镜像,也就是说,如果想同网段的其他地址想往这个仓库上推,127.0.0.1:5000铁定不行的,这个时候我们可以docker的配置选项来取消这个限制。

     vim /etc/docker/daemon.json
    
    • 1

    如果不存在此文件就新增此文件。
    更改内容如下:

    {
    "insecure-registries": ["XXXXXXX:5000"], #改成自己的ip,这里的符号啥的一定要注意
    "registry-mirrors": ["https://lxo9r85y.mirror.aliyuncs.com"]
    }
    
    • 1
    • 2
    • 3
    • 4

    然后进行重启:

    systemctl daemon-reload
    systemctl restart docker.service
    
    • 1
    • 2

    记得重启私有仓库。

  • 相关阅读:
    STL-函数对象、谓词、常用算法
    语法基础(判断语句)
    SpringSecurity整合JWT
    Nilpotent
    以MixtralForCausalLM为例,演示如何不依赖框架实现pipeline并行
    【Flutter】IOS运行工程二次启动崩溃问题。
    DNS WEB HTTP
    数据结构--7.2.1排序算法(冒泡、直接选择、直接插入)
    【excel密码】excel文件加密方法总结:
    论文基础常识摘录
  • 原文地址:https://blog.csdn.net/liwangcuihua/article/details/126224302