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

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

[复制链接]

尚未签到

发表于 2019-2-21 11:51:10 | 显示全部楼层 |阅读模式
Centos7 Docker私有仓库搭建
  仓库:集中存放镜像的地方,可分为公共仓库和私有仓库
(公共仓库"http://hub.docker.com"或国内的"http://www.daocloud.io")
  Registry:注册服务器才是存放仓库具体的服务器(Registry),每个服务器上都可以放置多个仓库,而每个仓库上可以放置多个镜像,每个镜像上可以运行多个容器,每个容器上可以跑一个应用或应用组。
搭建docker仓库有两种方式:
  方式一:在同一台服务器搭建仓库和客户端(属于本地搭建)
方式二:两台服务器一个是仓库,一个是客户端(属于本地搭建)
注:本文使用方式二搭建,也建议在真实环境中使用这种方式搭建!
环境:
  系统:两台centos7 -3.10.0-327.el7.x86_64
Docker版本:docker-1.13.1-63
IP:Docker客户端地址:192.168.152.158
Docker私有仓库地址:192.168.152.159
注:清空并关闭以上环境主机的防火墙和selinux
  关闭防火墙 systemctl stop firewalld.service
禁止防火墙开机自启 systemctl disable firewalld.service
  关闭selinux     sed -i 's/SELINUX=enforcing /SELINUX=disabled/g'
/etc/sysconfig/selinux
  重启 reboot
一、安装Docker客户端:192.168.152.158(第一台服务器)
  本文基于上一篇docker安装文章继续搭建的,在安装docker客户端部分大家可以参考上一篇文章:安装Docker
1、指定私有仓库服务器地址及端口      vi /etc/sysconfig/docker
OPTIONS='--insecure-registry 192.168.152.159:5000'

注:修改/etc/sysconfig/docker(Ubuntu下配置文件地址为:/etc/init/docker.conf),增加启动选项(已有参数的在后面追加),之后重启docker,不添加报错,https证书问题。
  //重启docker    systemctl  restart docker
二、搭建Docker私有仓库:192.168.152.159(第二台服务器)
  1、安装docker       yum -y install docker

  2、升级依赖包     yum  -y  install  upgrade device-mapper-libs

  3、启动docker服务   systemctl start docker
  4、开机自启docker服务    systemctl enable  docker
  5、查看docker版本信息    docker version
  6、下载registry镜像(该镜像用于构建本地私有仓库环境)
docker pull registry

注:由于国内网络问题直接连接官网下载可能会超时,可以重试几次。
//查看下载registry镜像      docker images

  //递归创建镜像存放目录      mkdir -p /opt/data/registry

  7、运行镜像并将容器5000端口映射到linux主机5000端口,并将镜像下载到/opt/data/registry/目录下(默认为/var/lib/registry目录)命令如下:

注释:
i:保持sdtin开放状态
d:使容器以守护进程方式后台运行,并打印容器id
t:分配一个tty(虚拟终端设备)
v: 绑定挂载一个容器内的路径到宿主机路径
p:映射一个容器的端口到宿主机端口
restart:当容器退出时的重启策略
name: 给容器命名一个名称
-–privileged=true :CentOS7中的安全模块selinux把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误
-v /opt/data/registry:/var/lib/registry:默认情况下,会将仓库存放于容器内的/tmp/registry目录下,指定本地目录挂载到容器
三、客户端上传镜像(先切换到客户端在执行)
  1、从公共仓库拉取httpd镜像        docker pull httpd
  2、查看拉取镜像    docker images

  3、修改镜像的tag    docker tag  原名  修改名
docker tag  httpd  192.168.152.159:5000/httpd

  4、把打了tag的镜像上传到私有仓库
docker push 192.168.152.159:5000/httpd

  5、查看镜像的存储目录和文件(此命令在仓库服务器上运行查看)
tree /opt/data/registry/docker/registry/v2/repositories/

  6、测试从仓库拉取镜像
1)删除docker客户端镜像   docker rmi 192.168.152.159:5000/httpd


  2)从仓库拉取刚才删除的镜像  docker pull 192.168.152.159:5000/httpd

注:以上操作完成docker仓库搭建!




运维网声明 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-675317-1-1.html 上篇帖子: 初识Docker 下篇帖子: 微服务架构与Docker容器之间关系
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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