zoukankan      html  css  js  c++  java
  • 基于Centos7安装Docker-registry2.0

    我们可能希望构建和存储包含不想公开的信息或数据的镜像,因为Docker公司的团队开源了docker-registry的代码,这样我们就可以基于此代码在内部运行自己的registry。

    服务端
    1.拉去仓库镜像
    [root@slave5 ~]# docker pull registry:2.1.1
    2.查看容器
    [root@slave5 ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    38802006b373 docker.io/registry:2.1.1 "/bin/registry /etc/ 24 hours ago Up 5 minutes 0.0.0.0:5000->5000/tcp registry
    3.启动容器
    [root@slave5 ~]# docker run -d -v /opt/registry:/var/lib/registry -p 5000:5000 --restart=always --name registry registry:2.1.1

    重要:默认情况下,会将仓库存放于容器的/var/lib/registry目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会指定本地一个目录挂载到容器的/opt/registry下, 两个目录下都有!
    ·registry的默认存储路径是/tmp/registry,只是个临时目录,一段时间之后就会消失
    ·所以使用-v参数,指定个本地持久的路径。
    4.访问http://ip:5000端口,出现如下界面,则代表仓库安装成功

    客户端
    1.拉取镜像
    [root@slave5 ~]# docker pull busybox
    2.为镜像打标签
    [root@slave5 ~]# docker tag docker.io/busybox 192.168.0.38:5000/busybox
    [root@slave5 ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
    docker.io/busybox latest 0064fda8c45d 5 days ago 1.113 MB
    <none> <none> 42316db2cd8d 12 days ago 187.9 MB
    docker.io/registry latest a8706c2bfd21 2 weeks ago 422.8 MB
    docker.io/ubuntu 14.04 d55e68e6cc9c 2 weeks ago 187.9 MB
    3.编辑docker配置文件,指定私有仓库url

    [root@slave5 ~]# vim /etc/sysconfig/docker
    OPTIONS='--insecure-registry 192.168.0.38:5000 '
    [root@slave ~]# service docker restart

    4.上传镜像到仓库
    docker push 192.168.0.38:5000/busybox

    5.查看私有仓库
    [root@slave ~]# curl 192.168.0.38:5000/v1/search
    {"num_results": 1, "query": "", "results": [{"description": "", "name": "library/busybox"}]}

  • 相关阅读:
    正确理解原型和原型链
    git push之后服务器如何自动更新?
    项目工具三:Swagger导出离线版HTML5和PDF格式api文档
    项目工具二:通过SQL导出单表的结构文档
    项目工具一:把文件夹里所有子文件夹与文件按树形结构导出
    一个完整的HTTP请求过程详细
    SAAS多租户数据逻辑隔离
    JS同步执行代码
    提升JAVA代码的好“味道”
    Connection keepalive
  • 原文地址:https://www.cnblogs.com/Z-style/p/5618675.html
Copyright © 2011-2022 走看看