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

[经验分享] Docker私有仓库

[复制链接]

尚未签到

发表于 2019-2-21 06:41:12 | 显示全部楼层 |阅读模式
Harbor 介绍
Docker容器应用的开发和运行离不开可靠的镜像管理,虽然Docker官方也提供了公共的镜像仓库,但是从安全和效率等方面考虑,部署我们私有环境内的Registry也是非常必要的。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
环境、软件准备

  • Linux CentOS 7.4
  • Docker(version:18.06.0-ce)
  • Docker-compose(version:1.9.0)
  • Harbor (version:1.5.2)
docker 安装
  之前的文章已介绍安装步骤,请自行查看。
Harbor 服务搭建
下载Harbor安装文件
  登录网址查看harbor版本,选择需要的本版进行下载,这里选择目前最新版本V1.5.2

  https://github.com/goharbor/harbor/releases
  点击图标下载到本地后用rz命令上传至服务器或
  wget https://storage.googleapis.com/harbor-releases/harbor-offline-installer-v1.5.2.tgz     ;国内下载较慢耐心等待
  tar zxvf   harbor-offline-installer-v1.5.2.tgz


配置Harbor
  解压缩之后,目录下会生成harbor.cfg文件,该文件就是Harbor的配置文件
  

  

  1. hostname设置访问地址,可以使用ip、域名,不可以设置为127.0.0.1或localhost
  # 2. 默认情况下,harbor使用的端口是80,若使用自定义的端口,除了要改docker-compose.yml文件中的配置外,
  # 这里的hostname也要加上自定义的端口,都在在docker login、push时会报错
  hostname = 10.0.11.150:5000
  # 访问协议,默认是http,也可以设置https,如果设置https,则nginx ssl需要设置on
  ui_url_protocol = http
  # mysql数据库root用户默认密码root123,实际使用时修改下
  db_password = root123
  #Maximum number of job workers in job service
  max_job_workers = 3
  #The path of secretkey storage
  secretkey_path = /data
  # 启动Harbor后,管理员UI登录的密码,默认是Harbor12345
  # 若修改了此处的admin登录密码。则登录后台时使用修改后的密码
  harbor_admin_password = Harbor12345
  # 认证方式,这里支持多种认证方式,如LADP、本次存储、数据库认证。默认是db_auth,mysql数据库认证
  auth_mode = db_auth
  # 是否开启自注册
  self_registration = on
  # Token有效时间,默认30分钟
  token_expiration = 30
  # 用户创建项目权限控制,默认是everyone(所有人),也可以设置为adminonly(只能管理员)
  project_creation_restriction = everyone
  
以上为比较常用的一些参数配置,详细的配置项可以在harbor.conf文件中查看,并且都有解释
  

更改端口号
  proxy:   image: vmware/nginx:1.11.5-patched   container_name: nginx   restart: always   volumes:     - ./common/config/nginx:/etc/nginx:z    networks:     - harbor    ports:     - 80:80  # 修改端口号则修改此处,前面的位宿主机的端口,后面的是容器中的端口,只修改前面的即可      - 443:443      - 4443:4443    depends_on:     - mysql      - registry      - ui      - log    logging:     driver: "syslog"     options:         syslog-address: "tcp://127.0.0.1:1514"       tag: "proxy"
  

  这里默认80端口
  如上面配置中的注释所说,原来的端口映射为:80:80,可以修改为5000:80,根据需要修改即可。最重要的是,此处修改完之后,一定要将harbor.conf配置文件中的hostname一块修改下,改成:ip:port。ip就是部署harbor的机器IP,port就是这里设置的端口号。
更改挂载私有库镜像目录
一般情况下,我们都会将容器启动的私有仓库服务中的镜像保存目录挂载到宿主机上的某个目录,这样能够保存镜像文件,使仓库镜像不易流失。在harbor中也有配置会指定目录挂载的映射关系。
打开 docker-compose.yml(此处只摘录需要修改挂载目录的部分配置):
registry:
    image: vmware/registry-photon:v2.6.2-v1.5.2
    container_name: registry
    restart: always
    volumes:
      - /data/docker/registry:/storage:z  # 看这里,挂载目录就是修改这行配置      - ./common/config/registry/:/etc/registry/:z    networks:
      - harbor    environment:
      - GODEBUG=netdns=cgo    command:
      ["serve", "/etc/registry/config.yml"]
    depends_on:
      - log    logging:
      driver: "syslog"
      options:  
        syslog-address: "tcp://127.0.0.1:1514"
        tag: "registry"  从上面的配置及注释知道需要修改那块配置了。/data/docker/registry:/storage:z,这里默认的挂载目录是/data/registry,我修改成了/data/docker/registry,即只需要修改前半部分即可,可根据自己需要修改,其他地方不需要改动。

启动 Harbor
修改完配置文件后,在当前目录执行./install.sh,Harbor服务就会根据当期目录下的docker-compose.yml开始下载依赖的镜像,检测并按照顺序依次启动各个服务。
注:可能下载下来的文件中,install.sh没有执行的权限,所有需要更改权限
# 添加执行权限(需要sudo)
chmod 755 install.sh
# 同时需要修改下面这个文件的权限,否则执行会报错
chmod 755 prepare  
执行过程



  

登录界面:
  
  

  首页:

  





运维网声明 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-674994-1-1.html 上篇帖子: 『中级篇』Docker Compose的安装和基本使用(39) 下篇帖子: Docker之容器互联实现容器间通信
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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