• docker私有仓库registry


    Docker官方提供了公共镜像仓库——Docker Hub。我们可以从上面拉取镜像到本地,也可以把自己的镜像推送上去,但是,有时候我们的服务器无法访问境外网站,或者考虑到安全性,自己的镜像不适合放到公网中,那我们就需要搭建自己的私有仓库来存储和管理自己的镜像。
    Docker registry是存储Docker image的仓库,我们可以将registry容器其部署到某个服务器,将镜像上传到registry容器,然后可以从registry拉取镜像。

    搭建私有仓库

    # 1、拉取私有仓库镜像
    docker pull registry
    # 2、启动私有仓库容器
    docker run -id -p 5000:5000 --name=registry -v /root/docker-data/resp/data:/var/lib/registry registry:latest
    # 3、配置docker信任私有仓库
    vim /etc/docker/daemon.json
    # 在daemon.json中,添加一个键值对,让docker新人私有仓库地址
    {"insecure-registries": ["服务器ip:5000"]}
    # 4、重启docker服务和私有仓库容器
    systemctl restart docker
    docker start registry
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述
    关于docker run命令的解释:

    • -p 5000:5000:我们从Docker Hub官网中的registry的dockerfile内容中可以看到,暴露的端口是5000,也就是默认的registry容器服务端口是5000,所以需要映射容器的5000端口。
    • -v /root/docker-data/resp/data:/var/lib/registry:从从Docker Hub官网的VOLUME字段可以看出,镜像上传到registry容器后,应该是存放到registry的/var/lib/registry目录下,为了预防registry容器突然下线等情况,我们最好是给registry配置数据卷。
    • 注意: 从dockerfile内容来看,启动registry容器时会执行一系列命令,所以我们在docker run命令后面不要再加个command命令了,否则覆盖了dockerfile的CMD命令导致容器内的相关应用没有启动。

    在这里插入图片描述

    通过http://服务器ip:5000/v2/_catalog,可以获取到空仓库数据
    在这里插入图片描述

    镜像上传私有仓库

    私有库搭建好之后,就可以将本地镜像上传至私有库

    # 1、标记镜像为私有仓库的镜像
    docker tag centos:7 服务器ip:5000/centos:7
    # 2、上传标记的镜像
    docker push 服务器ip:5000/centos:7
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    centos:7镜像上传到registry服务器成功后,访问http://服务器ip:5000/v2/_catalog可以看到有对应的镜像名称。
    在这里插入图片描述
    访问http://服务器ip:5000/v2/镜像名称/tags/list可以查询到对应的版本列表
    在这里插入图片描述

    拉取镜像

    可以从私有库上拉取镜像到本地:

    docker pull 服务器ip:5000/centos:7
    
    • 1

    在这里插入图片描述

    其他

    1、如果想修改registry容器的服务端口,可以通过设置环境变量REGISTRY_HTTP_ADDR来更改。如将registry容器的服务端口设置为5001:docker run -id -e REGISTRY_HTTP_ADDR=0.0.0.0:5001 -p 5000:5001 --name=registry -v /root/docker-data/resp/data:/var/lib/registry registry:latest

  • 相关阅读:
    java中的异常
    脊髓损伤会引起哪些并发症
    Meta RGB透视VR研究:摄像头距离可调、分辨率720p
    【华为机试真题 JAVA】数字涂色-100
    Redis的安装
    金仓数据库KingbaseES客户端编程接口指南-JDBC(4. JDBC 创建语句对象)
    用vscode仿制小米官网
    Linux下调试方法汇总
    基于Java的学校固定资产管理系统设计与实现(源码+lw+部署文档+讲解等)
    NOIP普及组2006-2018初赛 2019 CSP-J1 2020 CSP-J1 完善程序题
  • 原文地址:https://blog.csdn.net/wenxiaoba/article/details/127641321