内容简介:docker私有仓库搭建
Docker提供了开放的中央仓库dockerhub,同时也允许我们使用registry搭建本地私有仓库。搭建私有仓库有如下的优点:
- 节省网络带宽,提升 Docker 部署速度,不用每个镜像从DockerHub上去下载,只需从私有仓库下载就可;
- 私有镜像,包含公司敏感信息,不方便公开对外,只在公司内部使用。
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/registryregistry
解释一下:
-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
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。