美文网首页
docker私有仓库搭建

docker私有仓库搭建

作者: kekefund | 来源:发表于2017-06-08 16:04 被阅读3226次

    原文地址:http://kekefund.com/2017/06/07/doker-registry/ (本人博客)

    Docker提供了开放的中央仓库dockerhub,同时也允许我们使用registry搭建本地私有仓库。搭建私有仓库有如下的优点:

    1. 节省网络带宽,提升Docker部署速度,不用每个镜像从DockerHub上去下载,只需从私有仓库下载就可;
    2. 私有镜像,包含公司敏感信息,不方便公开对外,只在公司内部使用。

    1,搭建私有仓库

    1.1 下载镜像registry

    $ docker pull registry
    

    1.2 启动容器

    $ docker run -d -p 5000:5000 --restart=always --name=registry-srv -v /mydata/dockerRegistry:/var/lib/registry registry
    

    解释一下:

    -d:后台运行
    -p:将容器的5000端口映射到宿主机的5000端口
    --restart:docker服务重启后总是重启此容器
    --name:容器的名称
    -v:将容器内的/var/lib/registry映射到宿主机的/mydata/dockerRegistry目录
    

    2,搭建WEB服务

    私有仓库搭建好了,怎么查看仓库里的镜像,搭建一个web服务,查看修改image比较方便。

    2.1 下载镜像

    $ docker pull hyper/docker-registry-web
    

    2.2 启动容器

    docker run -it -p 8080:8080 --restart=always --name registry-web --link registry-srv -e REGISTRY_URL=http://registry-srv:5000/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web
    

    解释一下:

    -it: 以交互模式运行
    --link:链接其它容器(registry-srv),在此容器中,使用registry-srv等同于registry-srv容器的局域网地址
    -e:设置环境变量
    

    3,上传本地镜像到私有仓库

    例如,将本地的hcharts上传到仓库

    $ docker images | grep hcharts
    cbbing/hcharts                       latest              64164ca3dafe        3 weeks ago         550 MB
    

    3.1 修改镜像tag

    $ docker tag cbbing/hcharts 192.168.1.87:5000/cbbing/hcharts
    

    3.2 上传tag镜像到仓库

    docker push 192.168.1.87:5000/cbbing/hcharts
    
    The push refers to a repository [192.168.1.87:5000/hcharts]
    96b641920005: Pushing [===>                                               ] 8.852 MB/125.1 MB
    ee2881ef910e: Pushing [==>                                                ] 11.69 MB/232.7 MB
    36018b5e9787: Pushing [===>                                               ] 11.99 MB/192.5 MB
    

    3.3 会出现的push失败

    $ docker push 192.168.1.87:5000/hcharts
    The push refers to a repository [192.168.1.87:5000/hcharts]
    Get https://192.168.1.87:5000/v1/_ping: http: server gave HTTP response to HTTPS client
    

    这是因为Docker在1.3.x之后默认docker registry使用的是https,为了解决这个问题,修改本地主机的docker启动配置文件,添加

    --insecure-registry 192.168.1.87:5000
    

    我的macbook在图形化终端上修改如下,填写后“Apply&Restart”。


    3.4 下载镜像

    在另外的客户机上pull镜像,跟拉取DockerHub上的镜像是一样的流程。

    $ docker pull 192.168.1.87:5000/hcharts
    

    4,wen端查看私有仓库镜像

    访问:http://192.168.1.87:8080/,网页上呈现:


    参考:

    1, https://store.docker.com/images/registry
    2, https://store.docker.com/community/images/hyper/docker-registry-web

    相关文章

      网友评论

          本文标题:docker私有仓库搭建

          本文链接:https://www.haomeiwen.com/subject/swktqxtx.html