设为首页 收藏本站
查看: 1349|回复: 0

[经验分享] Docker搭建私有库

[复制链接]

尚未签到

发表于 2015-10-13 12:11:22 | 显示全部楼层 |阅读模式
使用centos6.5搭建属于自己的docker私有库1.搭建启动docker首先,我们需要下载docker到centosyum install docker-io中间需要输出y回车进行确定。当下载完成后,启动dockerservice docker start如果提示启动不了,那么我们更新一下依赖的包,如果启动正常不需要执行下面的命令yum upgrade device-mapper-libs  中间同样需要输入y确定更新完过后,我们再次启动dockerservice docker restart或service docker start如下图查看版本说明启动成功。 DSC0000.png 接下面进入正题,搭建docker私有库,不明思议,从官方下载的images由于各种原因,速度奇慢无比,所以,搭建私有库很有必要。2.搭建dokcer私有库推荐使用下面的命令启动,/tmp/registry registry为默认路径,我们需要映射该路径,即让镜像真正保存到本地磁盘上。docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry查看私有库是否存在的方法是在浏览器通过本机ip:5000在浏览器访问,如下图所示,搭建成功, DSC0001.png 这样我们就有了自己的私有库3.测试docker私有库的push和pull接下来,我们用另一台centos虚拟机试一试私有库有没有搭建好同样,需要有docker,步骤同上,启动docker我们可以先从官网上pull一个镜像来做测试,既然是测试,推荐一个小的镜像,busybox,2M左右docker pull busybox下来过后,我们将该镜像试着push到私有库。push的第一步我们需要给该镜像打tag。docker tag busybox 192.168.112.136:5000/busybox接下来就pulldocker push 192.168.112.136:5000/busyboxpush的时候如果出现下面的情况。 DSC0002.png 此处注意,因为Docker从1.3.X之后默认docker registry使用的是https,所以当用docker pull命令下载远程镜像时,如果远程docker registry是非https的时候就会报上面的错误。那么我们需要改一下docker的配置文件,关于docker的配置文件,不同的系统也许地方不同,不够操作都是大同小异,centos下面是在/etc/sysconfig/docker,ubuntu在/etc/default/docker那么我们修改配置文件vi /etc/sysconfig/docker把其中的other orgs =--insecure-registry=10.1.11.194:5000此处10.1.11.194是私有库对应的ip改完保存过后需要重启一下docker生效。service docker restart接下来在push一次docker push 192.168.112.136:5000/busyboxpush成功 DSC0003.png 浏览器输入10.1.11.194:5000/v1/search会出现下图,发现多了一个busybox的镜像,说明push成功 DSC0004.png 同理:pull也是一样的 docker pull 10.1.11.194:5000/busybox 上面的是查询私有库所有的镜像,也可以指定查询的镜像,在浏览器10.1.11.194:5000/v1/search?q=busybox**以下为小提示以上关于私有库的查看都是在浏览器上进行的,也可以直接用命令的形式进行查看*查看私有库里面存在的所有镜像
docker search [my.registry.host]:[port]/library
library为私有库名称,一般不改, 比如docker search 10.1.11.194:5000/library/busybox

*docker 通过pull的images存在于本地
通过cat /var/lib/docker/repositories-devicemapper 查看 ,不同的路径有差异

* Docker 配置文件位置Docker 的配置文件可以设置大部分的后台进程参数,在各个操作系统中的存放位置不一致在 ubuntu 中的位置是:/etc/default/docker
在 centos 中的位置是:/etc/sysconfig/docker


1.    私有库相关命令
1.1  镜像有关命令
1.1.1        查看pull下来的镜像的同时将images字符串格式化
  [iyunv@centos6u5 ~]# cat /var/lib/docker/repositories-devicemapper | python -mjson.tool      
1.1.2        查询私有库里面的images
  [iyunv@centos6u5 ~]# docker search 10.1.11.194:5000/library
  也可以使用下面命令查看
  [iyunv@centos6u5 /]# curl localhost:5000/v1/search | python -mjson.tool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
  Dload  Upload   Total   Spent    Left  Speed
  117   234  117   234    0     0  19586      0 --:--:-- --:--:-- --:--:-- 33428
  {
  "num_results": 4,
  "query": "",
  "results": [
  {
  "description": null,
  "name": "library/mysql"
  },
  {
  "description": null,
  "name": "tutum/mysql"
  },
  {
  "description": "",
  "name": "library/ubuntu"
  },
  {
  "description": "",
  "name": "library/registry"
  }
  ]
  }
  [iyunv@centos6u5 /]#
1.1.3        私有库里面images的存放地址
  [iyunv@centos6u5 library]# ls /opt/data/registry/repositories/library
1.2  私有库镜像管理
1.2.1        首先查询私有库镜像
  [iyunv@centos6u5 library]# docker search 10.1.11.194:5000/library
  NAME                  DESCRIPTION   STARS     OFFICIAL   AUTOMATED
  library/busybox                     0                    
  library/tutum4mysql                 0                    
  library/ubuntu2                     0                    
  library/registry                    0                    
  library/mysql                       0                    
  library/mss                         0                    
  library/centos                      0                    
  library/ubuntu                      0                    
  [iyunv@centos6u5 library]#         
  
1.2.2        对上面的ubuntu镜像操作(GET)
  [iyunv@centos6u5 library]# curl -X GET localhost:5000/v1/repositories/library/ubuntu/tags
  {"latest": "2103b00b3fdf1d26a86aded36ae73c1c425def0f779a6e69073b3b77377df348"}
  [iyunv@centos6u5 library]#
1.2.3        删除ubuntu镜像(DELETE)  
  [iyunv@centos6u5 library]# curl -X DELETE localhost:5000/v1/repositories/library/Ubuntu/tags
  True
  [iyunv@centos6u5 library]#
  也可以后面加具体的tag,如下
  [iyunv@centos6u5 library]# curl -X DELETE localhost:5000/v1/repositories/library/busybox/tags/latest
  true[iyunv@centos6u5 library]#
1.2.4        再次获取该ubuntu镜像
  
  [iyunv@centos6u5 library]# curl -X GET localhost:5000/v1/repositories/library/ubuntu/tags
  {"error": "Repository not found"}
  [iyunv@centos6u5 library]#
  发现该镜像已经不存在了.
1.2.5        再次从私有库push该镜像
  [iyunv@centos6u5 library]# docker pull 10.1.11.194:5000/ubuntu
  Pulling repository 10.1.11.194:5000/ubuntu
  FATA[0002] Error: image ubuntu:latest not found
  此时发现给image已经不存在了
1.2.6        再次查询私有库镜像列表
  [iyunv@centos6u5 library]# docker search 10.1.11.194:5000/library
  NAME                  DESCRIPTION   STARS     OFFICIAL   AUTOMATED
  library/busybox                        0                    
  library/tutum4mysql                    0                    
  library/ubuntu2                  0                    
  library/registry                          0                    
  library/mysql                           0                    
  library/mss                             0                    
  library/centos                          0                    
  [iyunv@centos6u5 library]#
  Ubuntu镜像已经被删除.
1.3         私有库大小管理
1.3.1        如果在创建私有库的时候没有映射到本地目录下面,那么默认私有库大小为10G,如果上传超过10G,就会push失败。所以,建议映射到本地目录,同时也可以持久化数据。
1.3.2        私有库映射到本地过后,私有库的大小就和卷的大小相关。
评论这张          版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-126261-1-1.html 上篇帖子: docker固定IP容器构造 下篇帖子: docker学习记录
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表