• docker 私有 repository


    为什么需要私有仓库?

      首先假如公司内部有两台以上的服务器,使用docker管理应用程序,我在A服务器上创建了一个.net core 的镜像,需要在B服务器上共享这个镜像,怎么办?当然不能拷贝一份代码在去B服务器创建上去创建,服务器少,以及版本迭代少的拷贝没问题,如果服务器多了,版本迭代多了,每次都拷贝粘贴不得把人累死,创建私有就不一样了,一个命令即可。

      其次就是内网且多服务器的情况下,就必须有个私有仓库了。

    创建私有仓库

    1、拉取 registry 镜像 :

       docker pull registry

    2、运行容器:

      docker run -d -v /repositories:/var/lib/registry -e REGISTRY_STORAGE_DELETE_ENABLED=true -p 5000:5000 --restart=always --privileged=true --name registry registry

       //   -e REGISTRY_STORAGE_DELETE_ENABLED=true 设置仓库是可以删除的

      看运行是否成功,浏览器访问:http://192.168.0.109:5000/v2

    3、提交一个镜像

      首先修改文件 /etc/docker/daemon.json (是个json文件,如果没有就创建)

      添加  "insecure-registries":["192.168.0.100:5000"]  --如果不添加这段,只能用https的方式 ,(insecure:不安全的)

      docker image tag elasticsearch:6.7.0 192.168.0.100:5000/elasticsearch   --打一个tag

       docker push 192.168.0.100:5000/elasticsearch

    4、在其他机器拉取镜像,同样需要开启不安全的仓库

      docker pull 192.168.0.100:5000/elasticsearch

    5、查询私有仓库有哪些镜像

       GET http://192.168.0.100:5000/v2/_catalog  // 查询镜像列表

       GET http://192.168.0.100:5000/v2/{image_name}/tags/list    // 查询单个镜像的tags

          HEAD http://192.168.0.100:5000/v2/{image_name}/manifests/1.0.0    // 查询单个镜像的Digest,说是那么说,用postman查出来不对,

          docker inspect {image_name}    // 查询镜像详细信息,是一个json,RepoDigests 项 就是 image 的 digest

       DELETE  http://192.168.0.100:5000/v2/{image_name}/manifests/{Digest}    // 删除镜像

       api地址:https://github.com/docker/distribution/blob/master/docs/spec/api.md

    有时候要用到域名,公司内部搭一个dns服务器,非docker 仓库的linux需要修改dns的地址,指向dns服务器来找到 registry.xxx.com ,附上修改方法:

    --打开配置文件

    sudo vim /etc/resolv.conf

    --添加 nameserver dns服务器的地址

    nameserver 192.168.0.101

    esc -> :wq // (保存)

    立即生效,ping registry.xx.com 就可以通了。

  • 相关阅读:
    Thinkphp6笔记十八:默认分页2
    Thinkphp6笔记十八:默认分页1
    Thinkphp6笔记十七:模板标签使用
    Thinkphp6笔记十六:IP黑名单
    Thinkphp6笔记十五:模板路径自定义配置
    Thinkphp6笔记十四:Redis配置
    Thinkphp6笔记十三:验证器(模型验证)
    Thinkphp6笔记十三:验证器(场景验证)
    Thinkphp6笔记十三:验证器(控制器验证)
    Thinkphp6笔记十二:多数据库配置
  • 原文地址:https://www.cnblogs.com/wh-blog/p/10707131.html
Copyright © 2020-2023  润新知