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

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

内容简介: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私有仓库》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

Speed Up Your Site

Speed Up Your Site

Andrew B. King / New Riders Press / 2003-01-14 / USD 39.99

There's a time bomb on the web: user patience. It starts ticking each time someone opens one of your pages. You only have a few seconds to get compelling content onto the screen. Fail, and you can kis......一起来看看 《Speed Up Your Site》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具