• 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 就可以通了。

  • 相关阅读:
    [OS] 修改屏幕分辨率(用Remote Desktop Connection 或者 用工具:Remote Desktop Connection Manager)
    英文单词通用缩写表
    [Selenium] 怎样判断是否适合自动化测试
    [Selenium] Java代码获取,设置屏幕分辨率
    [Selenium] Java代码获取屏幕分辨率
    [Selenium] 最大化或自定义浏览器的大小
    跟我一起玩Win32开发(7):多边形窗口
    跟我一起玩Win32开发(5):具有单选标记的菜单
    跟我一起玩Win32开发(6):创建右键菜单
    跟我一起玩Win32开发(4):创建菜单
  • 原文地址:https://www.cnblogs.com/wh-blog/p/10707131.html
Copyright © 2020-2023  润新知