• Docker私有仓库


    私有私有仓库

    有时候使用Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。

    docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库。下面是基于v2.x版本。

    仓库也是一个镜像,直接从官方拉取安装:

    docker run -d -p 5000:5000 --restart=always --name registry registry

    镜像里已经存在了,并且已经开始运行了。

    仓库

    有时候使用Docker Hub 这样的公共仓库可能不方便,用户可以创建一个本地仓库供私人使用。

    docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库。下面是基于v2.x版本。

    仓库也是一个镜像,直接从官方拉取安装:

    docker run -d -p 5000:5000 --restart=always --name registry registry

    镜像里已经存在了,并且已经开始运行了。

    这将使用官方的  registry  镜像来启动私有仓库。默认情况下,仓库会被创建在容器的  /var/lib/registry  目录下,可以通过-v参数来讲镜像文件存放在本地的指定路径。

    例如

    docker run -d  -p 5000:5000  -v /opt/data/registry:/var/lib/registry registry 其实就是之前说的挂载。

     

    推送仓库:

    先用docker tag标记一个镜像,然后推送他。上面的那个本地仓库地址应该是127.0.0.1:5000。

    把ubuntu:latest这个镜像标记为127.0.0.1:5000/ubuntu:latest

    格式为 

    docker tag IMAGE[:TAG][REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]

    docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest

    推送 用docker push

    docker push 127.0.0.1:5000/ubuntu:latest

    用curl查看

    curl 127.0.0.1:5000/v2/_catalog

    我是在虚拟机上做的,我在我本机也可以通过虚拟机ip来访问仓库相关

    拉取镜像 docker pull

    docker pull 127.0.0.1:5000/ubuntu:latest

    拉取之前可以先把本地的删除了

    docker image rm 127.0.0.1:5000/ubuntu:latest

    Ps:如果是想直接推送到类似这样的地址192.168.0.104因为docker默认不允许非https方式推送镜像,会出现这个

    docker tag ubuntu:latest 192.168.0.104:5000/ubuntu:latest

    docker push 192.168.0.104:5000/ubuntu:latest

     

    这种问题的解决办法是 通过配置选项来取消这个限制或者是通过配置HTTPS访问。

    我的ubuntu18.04是这么设置的

    路径 /etc/docker/daemon.json   (没有的话就创建这个文件)

    内容:

    {

    "registry-mirrors": [

    "https://dockerhub.azk8s.cn",

    "https://reg-mirror.qiniu.com"

    ],

    "insecure-registries": [

    "192.168.0.104:5000"

    ]

    }

    因为我配置过数据源,所以上面registry-mirrors里面多出来一些东西。配玩之后我继续推送

    docker push 192.168.0.104:5000/ubuntu:latest 发现还是不行,然后我重启了下服务

    sudo systemctl daemon-reload

    sudo systemctl restart docker

    之后就推送上去了。

     

    使用  DockerCompose  搭建一个拥有权限认证、TLS 的私有仓库,相关这里略过。现在手上没证书。

  • 相关阅读:
    【读书笔记】构建之法(CH7~CH8)
    【课后作业】软件创新
    【个人开发】词频统计
    【读书笔记】没有银弹
    【个人开发】词频统计-代码规范
    【个人开发】词频统计-文档设计
    GitBook 使用
    Android NDK 入门与实践
    Python 爬虫实战(一):使用 requests 和 BeautifulSoup
    手把手教你做个人 app
  • 原文地址:https://www.cnblogs.com/csnd/p/12061836.html
Copyright © 2020-2023  润新知