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

[经验分享] 『高级篇』docker之镜像仓库(20)

[复制链接]

尚未签到

发表于 2019-2-20 06:45:17 | 显示全部楼层 |阅读模式
  >原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!
>原文链接地址:『高级篇』docker之镜像仓库(20)
  三步走的第二步,开始查看镜像仓库,就一起学一学docker仓库,仓库分2种,别人家的仓库也叫公共仓库,自己的仓库也叫私有仓库。公共仓库和私有仓库最大的却别就是网速,公共仓库从公网,私有仓库是从局域网,速度的差别,安全性,公共的肯定没有私有的安全,保存在自己的硬盘上是最稳的。其实在中级的时候我已经说过docker仓库的创建,这次用mac本来实现docker仓库的创建。源码:https://github.com/limingios/msA-docker


公有仓库

  最权威的公有仓库就是hub.docker.com

DSC0000.jpg



  • 打包

docker tag zookeeper:3.5 zhugeaming/zookeeper:3.5
docker login
docker push zhugeaming/zookeeper:3.5
DSC0001.jpg

DSC0002.jpg


私有仓库(一)

  https://hub.docker.com/_/registry/


docker pull registry:2
DSC0003.jpg

DSC0004.jpg



  • 安装说明
      官方的安装说明



docker run -d -p 5000:5000  --name registry registry:2
DSC0005.jpg



  • push 到本地的registry
    docker tag zookeeper:3.5 localhost:5000/zookeeper:3.5
    docker push localhost:5000/zookeeper:3.5
DSC0006.jpg


  在生产环境下,并不能满足要求,单点登录,一个服务器出了问题,另一个服务器就很难托管过来,它并没有界面,给他交互不是很方便。
所以业内又出现了一个新的叫harbor,更适合生产环境中。


私有仓库(二)

  https://github.com/goharbor/harbor/
详细往下看 最终我放弃了mac下直接安装harbor,通过vagrant的方式虚拟机来安装harbor



  • 准备工作
      选择线下安装


DSC0007.jpg


cp Downloads/harbor-offline-installer-v1.6.1.tgz ~/app/
cd ~/app
tar -xvf harbor-offline-installer-v1.6.1.tgz
DSC0008.jpg



  • 修改配置文件
      修改红色部分



cd harbor
ll
vi harbor.cfg
DSC0009.jpg


  方便管理,mac系统管理,修改存储路径


vi docker-compose.yml

DSC00010.jpg

DSC00011.jpg

DSC00012.jpg

DSC00013.jpg



  • 安装
DSC00014.jpg



  • 奇葩问题
  想在mac上安装一个harbor 下载了harbor-offline-installer-v1.6.1.tgz


  • 将文件放在了mac本的/user/liming/app/目录下,并解压
  • 修改了配置文件和挂载文件的路径。
  • 运行install的时候必须加sudo,负责权限不足,加了sudu后可以正常安装并安装成功。
  • 但是剩余的问题来了,里面的容器无法访问挂载的配置文件,提示权限不足。为了弥补权限不足的问题,我在docker-compose.yml做了配置都增加了
    privileged: true,但是不生效,困扰了几天身边没有docker方面的人,帮忙解答下。
DSC00015.jpg

DSC00016.jpg


vagrant 方式安装

  https://github.com/limingios/msA-docker/tree/master/vagrant/harbor



  • 修改host文件和端口,可以不修改端口
    vi harbor.cfg
    DSC00017.jpg


DSC00018.jpg


vi docker-compose.yml
DSC00019.jpg



  • 安装
    ./install.sh
    DSC00020.jpg


DSC00021.jpg



  •   浏览

    ifconfig
    DSC00022.jpg


  • 访问harbor
      http://172.28.128.3:8888  
    用户名:admin
    密码:Harbor12345


DSC00023.jpg

DSC00024.jpg


  library 公开的所有用户都可以push

DSC00025.jpg


  添加项目micro-service,私有项目

DSC00026.jpg

DSC00027.jpg


  点击项目可以进入项目中。

DSC00028.jpg



  • 添加成员

    • 项目管理员 等于 admin
    • 开发人员 等于 对项目的镜像 有push 和pull的权限
    • 访客 等于 只有 pull的权限

DSC00029.jpg



  • 复制功能
      生产环境,很多的机房,每个机房之间的网速是很快的,但是跨机房的,可能网速的稳定性和速度就差一些,每个机房部署一个harbor,在通过一个中心的harbor,当有镜像的自动去同步其他的服务器,复制规则是可以针对项目的,每个项目自己的一个复制规则。


DSC00030.jpg



  • 创建用户
DSC00031.jpg



  • 添加成员
      分配开发人员
    DSC00032.jpg



  Harbor其实操作很简单,随便点点都了解了。


本地的微服务镜像推送

  现在想想办法把镜像都推送到mico-service里面



  • host文件修改
    sudo vi /etc/hosts
DSC00033.jpg



  • 上传基础镜像
      hub.idig88.com 已经配置了基础

    docker tag java:openjdk-8 hub.idig88.com:8888/micro-service/java:openjdk-8

DSC00034.jpg


The push refers to repository [hub.idig88.com:8888/micro-service/java]
Get https://hub.idig88.com:8888/v2/: http: server gave HTTP response to HTTPS client

  • 配置地址:登录服务器上。
DSC00035.jpg


vi /usr/lib/systemd/system/docker.service
service docker restart
DSC00036.jpg


  配置地址:本机mac。修改后点击app& Restart

DSC00037.jpg

DSC00038.jpg



  • 再次上传基础镜像
    docker login http://hub.idig88.com:8888 -u liming -p 密码
    docker push  hub.idig88.com:8888/micro-service/java:openjdk-8
    docker tag python:3.6 hub.idig88.com:8888/micro-service/python:3.6
    docker push hub.idig88.com:8888/micro-service/python:3.6
DSC00039.jpg

DSC00040.jpg

DSC00041.jpg

DSC00042.jpg

DSC00043.jpg


推送微服务到仓库中

  已经将基础的镜像推送到了镜像仓库中,现在需要修改对应的dockerfile文件,更改基础镜像的名称。修改配置文件



  • 6个微服务Dockerfile
      From hub.idig88.com:8888/micro-service/


DSC00044.jpg

DSC00045.jpg

DSC00046.jpg

DSC00047.jpg

DSC00048.jpg

DSC00049.jpg



  • 6个sh脚本修改增加了推送功能
    DSC00050.jpg
DSC00051.jpg

DSC00052.jpg

DSC00053.jpg

DSC00054.jpg

DSC00055.jpg


查看仓库

  8个镜像全部到位

DSC00056.jpg

DSC00057.jpg

  PS:经历了2天大概做了不下20小时,我最终还是放弃了mac下安装harbor的方式,时刻要记住mac只是个编辑器,不要什么都在上边装,很多时候通过虚拟机更类似生成环境。这一次说完了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-674540-1-1.html 上篇帖子: 『高级篇』docker之微服务docker下的服务通讯(19) 下篇帖子: 解决Centos7安装docker源问题
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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