docker私有库的搭建实现
安装部署一个私有的DockerRegistry是引入、学习和使用Docker这门技术的必经之路之一。尤其是当Docker被所在组织接受,更多人、项目和产品开始接触和使用Docker时,存储和分发自制的Dockerimage便成了刚需。DockerRegistry一如既往的继承了“Docker坑多”的特点,为此这里将自己搭建”各类”Registry过程中执行的步骤、遇到的问题记录下来,为己备忘,为他参考。
Registry2在镜像存储方面不仅支持本地盘,还支持诸多主流第三方存储方案。通过分布式存储系统你还可以实现一个分布式DockerRegistry服务。
准备
server1,server2(其中server1作为私有库服务器,server2作为普通客户端)
在server1上
1下载registry
dockerpullregistry:latest
2配置/etc/default/docker因为https需要证书密码等比较复杂,直接加insecure-registry即可
#DockerUpstartandSysVinitconfigurationfile #CustomizelocationofDockerbinary(especiallyfordevelopmenttesting). #DOCKER="/usr/local/bin/docker" #UseDOCKER_OPTStomodifythedaemonstartupoptions. #DOCKER_OPTS="--dns8.8.8.8--dns8.8.4.4" DOCKER_OPTS="--insecure-registry127.0.0.1:5000" #IfyouneedDockertouseanHTTPproxy,itcanalsobespecifiedhere. #exporthttp_proxy="http://127.0.0.1:3128/" #ThisisalsoahandyplacetotweakwhereDocker'stemporaryfilesgo. #exportTMPDIR="/mnt/bigdrive/docker-tmp"
3启动registry
sudodockerrun--nameregistry-d-p5000:5000-v/home/docker_registry:/var/lib/registry--restart=alwaysregistry:latest
4tag镜像
dockertagredisserver1:5000/redis
5推送保存私有镜像
dockerpushserver1:5000/redis
5.1查看推送到私有仓库的镜像
$dockersearch10.10.105.71:5000/tonybai/busybox/ Errorresponsefromdaemon:Unexpectedstatuscode404 但通过v2版本的API,我们可以实现相同目的: $curlhttp://10.10.105.71:5000/v2/_catalog {"repositories":["tonybai/busybox"]}
在server2(client)上
因为dockerRegistry中讲到,如果采用insecureregistry的模式,那么所有与Registry交互的主机上的DockerDaemon都要配置:–insecure-registry选项。除了这个模式还可以配置证书,在此不作说明
1配置-insecure-registry(centos:/etc/sysconfig/dockerubuntu:/etc/default/docker)
#DockerUpstartandSysVinitconfigurationfile #CustomizelocationofDockerbinary(especiallyfordevelopmenttesting). #DOCKER="/usr/local/bin/docker" #UseDOCKER_OPTStomodifythedaemonstartupoptions. #DOCKER_OPTS="--dns8.8.8.8--dns8.8.4.4" DOCKER_OPTS="--insecure-registryserver1:5000" #IfyouneedDockertouseanHTTPproxy,itcanalsobespecifiedhere. #exporthttp_proxy="http://127.0.0.1:3128/" #ThisisalsoahandyplacetotweakwhereDocker'stemporaryfilesgo. #exportTMPDIR="/mnt/bigdrive/docker-tmp"
2下载
dockerpullserver1:5000/redis
3提交推送
dockertagredisserver1:5000/redis dockerpushserver1:5000/redis
参考:
http://www.cnblogs.com/xcloudbiz/articles/5526262.html
到此这篇关于docker私有库的搭建实现的文章就介绍到这了,更多相关docker私有库搭建内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!