• 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

    记得重启私有仓库。

  • 相关阅读:
    我的docker随笔38:用 registry 搭建私有仓库
    图扑智慧交通:数字化地铁大屏管控运维平台
    【Java 进阶篇】MySQL 数据控制语言(DCL):管理用户权限
    TCP RTT测量妙计
    用docker搭载redis集群
    Linux 基本语句_4_指针和函数
    Java中的map集合顺序如何与添加顺序一样,LinkedHashMap,使用entrySet遍历
    团建游戏---大生意
    Python安装BeautifulSoup及使用方法,利用BeautifulSoup解析html网页
    经典卷积神经网络 - VGG
  • 原文地址:https://blog.csdn.net/liwangcuihua/article/details/126224302