搭建Harbor--企业级docker私有仓库

栏目: 编程工具 · 发布时间: 5年前

内容简介:Harbor 是 VMware 公司开源的企业级 DockerRegistry 项目,项目地址1、阿里云学生机(1核2G Centos7以上)2、docker 版本:18 (最新也成)

Harbor 是 VMware 公司开源的企业级 DockerRegistry 项目,项目地址 点击这里 ,它的目标是帮助用户迅速搭建一个企业级的 Docker registry 服务。它以 Docker 公司开源的 registry 为基础,提供了管理UI,基于角色的访问控制(Role Based Access Control),AD/LDAP集成、以及审计日志(Auditlogging) 等企业用户需求的功能,同时还原生支持中文。Harbor 的每个组件都是以 Docker 容器的形式构建的,使用 Docker Compose 来对它进行部署。

环境准备

1、阿里云学生机(1核2G Centos7以上)

2、docker 版本:18 (最新也成)

3、docker-compose:1.24 (最新也成)

4、Harbor:1.1.2

安装docker和docker-compose

docker的安装看这里

docker-compose安装看这里

另外的提醒,docker一定要换镜像源,示例看这里

安装Harbor

推荐我这种方式下载Harbor的离线安装包

wget https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz
以上方式取决与你的服务器网速和宽带了,所以链接放入迅雷,速度贼快,然后再把用xftp把安装包放入服务器
tar -zxvf harbor-offline-installer-v1.1.2.tgz -C 你想解压到的路径
复制代码

解压之后会在解压的路径中看到harbor.cfg文件,主要是修改主机IP

# Configuration file of Harbor

#The IP address or hostname to access admin UI and registry service.
#DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname = 你的主机IP:端口
值得一提的是,如果你这里不带端口,尽量这里不要使用5000端口,Harbor会默认80端口的
复制代码

如果你在harbor.cfg文件中将你的IP后面加上端口的话,也要修改docker-compose.yml,没有加上的话不用修改

proxy:
    image: vmware/nginx:1.11.5-patched
    container_name: nginx
    restart: always
    volumes:
      - ./common/config/nginx:/etc/nginx:z
    networks:
      - harbor
    ports:
      - 端口: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"

复制代码

这里如果你想修改仓库存储镜像的路径话,请修改以下地方

registry:
    image: vmware/registry:2.6.1-photon
    container_name: registry
    restart: always
    volumes:
      - /data/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"

复制代码

运行安装脚本

sh install.sh
复制代码

一旦出现以下语句就是安装成功了

----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://你的IP:端口. 
For more details, please visit https://github.com/vmware/harbor .
复制代码

之后你就可以访问http://你的IP:端口,这里默认的管理员账号是admin/Harbor12345,建议使用管理账号登录之后在UI界面里修改以防不测

Login And Push/Pull

如果你使用docker login 你的IP:端口 出现以下情况

[root@xxx harbor]# docker login xxxx:端口
Username: admin
Password: 
Error response from daemon: Get https://xxxx:端口/v2/: http: server gave HTTP response to HTTPS client
复制代码

这种情况是因为这是因为docker默认不允许非 HTTPS 方式推送镜像. 我们可以通过docker配置来取消这个限制, 或者配置能够通过 HTTPS 访问的私有仓库。

如果你的 linux 是Ubuntu16.04+、Debian 8+、centos 7+,请在/etc/docker/daemon.json中 追加 以下内容:

{
    "insecure-registries": ["xxxx:端口"]
}
复制代码

然后再重新加载docker

systemctl reload docker
复制代码

正确的docker pull/push应该按照以下例子来

docker login 你的IP:端口
输入账号密码

docekr tag 镜像名称:标签 你的IP:端口/项目名称/镜像名称:标签
docker push 你的IP:端口/项目名称/镜像名称:标签
复制代码

解释一下,harbor里有个默认公开的项目library,这个是不用登陆就可以随意push/pull的,所以一般来说我们会新建一个私有项目,不登录无法push/pull


以上所述就是小编给大家介绍的《搭建Harbor--企业级docker私有仓库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

商战

商战

杰克•特劳特、阿尔•里斯 / 李正栓、李腾 / 机械工业出版社 / 2011-3 / 42.00元

本书重点阐述了商战中的四种常用战略形式,如防御战、进攻战、侧翼战和游击战,针对每一种形式又提出了三条应遵循的原则,以及如何在具体的商战中应用这些原则。本书分析了商战中的实际案例:可口可乐与百事可乐的战役,汉堡王与温迪斯对麦当劳的挑战以及DEC对阵IBM等。这些人们熟知品牌的案例在作者精心的组织下,使读者不仅加深了对本书中心思想的理解,而且学习了如何在实战中具体应用各种营销战略和策略的技巧。 ......一起来看看 《商战》 这本书的介绍吧!

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具