当前位置: 首页 > news >正文

Docker--------registry私有仓库搭建 [ Http ]

1. 背景

    docker中要使用镜像,一般会从本地、docker Hup公共仓库和其它第三方公共仓库中下载镜像,一般出于安全和外网(墙)资源下载速率的原因考虑企业级上不会轻易使用。那么有没有一种办法可以存储自己的镜像的仓库呢? ----> 企业级环境中搭建自己的私有仓库。


2. 私有仓库有优势:

    一、节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;

    二、提供镜像资源利用,针对于公司内部使用的镜像,推送到本地的私有仓库中,以供公司内部相关人员使用。


3. 环境:

1
2
3
4
[root@registry ~] # cat /etc/redhat-release 
CentOS Linux release 7.2.1511 (Core) 
[root@registry ~] # uname -r
3.10.0-327.36.3.el7.x86_64


4. 服务器Ip地址

    192.168.60.150


5. 安装:

 * 安装docker

1
[root@registry ~] # yum install docker


 * 启动docker服务

1
[root@registry ~] # systemctl start docker


 * 设置docker服务开机启动

1
[root@registry ~] # systemctl enable docker


 * 拉取 registry镜像,例如在daocloud.io/registry这个私有镜像仓库

1
[root@registry ~] # docker pull daocloud.io/registry


 * 创建本地镜像存储目录

1
[root@registry ~] # mkdir /data/local_docker_registry -p


 * 运行容器,设置容器名称为local_docker_registry, 挂在镜像内docker镜像仓库/var/lib/registry 至本地/data/local_docker_registry目录,并曝光5000端口, --restart=always让其跟随docker启动时启动

1
[root@registry ~] # docker run --name local_docker_registry --restart=always -d -v /data/local_docker_registry:/var/lib/registry -p 5000:5000 daocloud.io/registry


 * 测试 [ 有返回就表示成功 ]

1
2
[root@registry ~] # curl 192.168.60.150:5000/v2
<a href= "/v2/" >Moved Permanently< /a >.


6. 上传镜像至私有仓库测试

 * 编写dockerfile文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Nginx 
# Version 1.0.1
# Author lisea
# Url https://lisea.cn
# Base imgae
FROM centos
 
# Maintainer
MAINTAINER lisea lisea@126.com
 
# Commands
RUN rpm -ivh http: //mirrors .aliyun.com /epel/epel-release-latest-7 .noarch.rpm
RUN yum  install  nginx -y
RUN  echo  "daemon off;"  >>  /etc/nginx/nginx .conf
RUN  echo  "this is test nginx image"  /usr/share/nginx/html/index .html
EXPOSE 80
CMD [ "nginx" ]


 * 通过Dockerfile构建一个新镜像, 直接指明registry和标签

1
[root@registry nginx] # docker build -t 192.168.60.150:5000/nginx:1.0.1 .


 * push 上传镜像到私有仓库

1
[root@registry nginx] # docker push 192.168.60.150:5000/nginx:1.0.1


 * 查看镜像是否上传成功

1
2
[root@registry nginx] # curl 192.168.60.150:5000/v2/_catalog
{ "repositories" :[ "nginx" ]}

 

 * 其它服务器使用此镜像

1
[root@registry nginx] # docker pull 192.168.60.150:5000/nginx:1.0.1


7. 相关问题

  * 可能会出现无法push镜像到私有仓库的问题。这是因为我们启动的registry服务不是安全可信赖的。     解决:

   1. 需要修改docker的配置文件 /etc/sysconfig/docker-network,在添加下面的内容,

1
     DOCKER_NETWORK_OPTIONS= "--insecure-registry 192.168.60.150:5000"

      2. 重启docker

1
[root@registry nginx] # systemctl restart docker



8. 总结



以需求驱动技术,技术本身没有优略之分,只有业务之分。



      本文转自asd1123509133 51CTO博客,原文链接:http://blog.51cto.com/lisea/1934617,如需转载请自行联系原作者




相关文章:

  • 实战:Windows Server 2008 活动目录 传送和争夺操作主控角色
  • AIX 5.3 Install Oracle 10g RAC 错误集锦--9i RAC present
  • All Our N-gram are Belong to You
  • 域用户权限|运行软件
  • 使用GitHub进行版本管理
  • RAC 开启gsd和oc4j服务
  • 让LINUX发出声音
  • 如何在Linux单用户模式下修改fstab文件
  • Nginx+proxy_cache高速缓存配置
  • WIN7 共享网络方法
  • shell脚本编程基础
  • HDU-2059 龟兔赛跑 动态规划
  • 简述WebService与.NET Remoting的区别及适应场合
  • Java开源报表JasperReport、iReport4.5.1使用详解(二)
  • 本公司信息发布系统的优点
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • Codepen 每日精选(2018-3-25)
  • CSS3 变换
  • Docker下部署自己的LNMP工作环境
  • es6要点
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • QQ浏览器x5内核的兼容性问题
  • Redis 中的布隆过滤器
  • Spring框架之我见(三)——IOC、AOP
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 码农张的Bug人生 - 见面之礼
  • 深度学习入门:10门免费线上课程推荐
  • 跳前端坑前,先看看这个!!
  • 通过npm或yarn自动生成vue组件
  • 网络应用优化——时延与带宽
  • 为视图添加丝滑的水波纹
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 正则与JS中的正则
  • python最赚钱的4个方向,你最心动的是哪个?
  • ​​​​​​​​​​​​​​Γ函数
  • ​一文看懂数据清洗:缺失值、异常值和重复值的处理
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (c语言)strcpy函数用法
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (免费领源码)Java#ssm#MySQL 创意商城03663-计算机毕业设计项目选题推荐
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (轉貼) 寄發紅帖基本原則(教育部禮儀司頒布) (雜項)
  • ./configure,make,make install的作用(转)
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .net framework 4.0中如何 输出 form 的name属性。
  • .Net Redis的秒杀Dome和异步执行
  • .Net Remoting(分离服务程序实现) - Part.3
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .net分布式压力测试工具(Beetle.DT)
  • @SuppressLint(NewApi)和@TargetApi()的区别
  • [ 隧道技术 ] cpolar 工具详解之将内网端口映射到公网
  • [2013][note]通过石墨烯调谐用于开关、传感的动态可重构Fano超——