简单介绍

简单的说,Harbor 是一个企业级的 Docker Registry,可以实现 images 的私有存储和日志统计权限控制等功能,并支持创建多项目。

我的环境

  • Ubuntu 18.04
  • Docker 18.06.1
  • Docker-compose 1.23.2

Docker安装

安装看官方文档

Docker-compose安装

Github详细安装地址

1
curl -L https://github.com/docker/compose/releases/download/1.24.0-rc1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

Harbor搭建

Harbor下载地址

修改配置
1
2
3
tar xf harbor-offline-installer-v1.7.0.tgz -C /usr/local
cd /usr/local/harbor
vi harbor.cfg
  • 修改hostname = XXXXXXXX (目标主机的主机名)
生成配置
1
./install.sh

访问WEB UI

默认的访问地址即为 harbor.cfg 中 hostname 地址,直接访问即可

用户名:admin 密码:Harbor12345

PUSH镜像

由于采用了默认的 http 方式连接,而 Docker 认为这是不安全的,所以在 push 之前需要调整一下 docker 配置,编辑 /etc/default/docker 增加如下内容

1
DOCKER_OPTS="--insecure-registry xxxxxxxxx" (xx填harbor.cfg你的HOSTNAME)

加了这一处配置文件,还是不能登陆Harbor的,在/lib/systemd/system/docker.service配置文件里面加了这个就好了

1
2
EnvironmentFile=-/etc/default/docker
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS

Centos在/usr/lib/systemd/system/docker.service配置文件里面增加如下内容

1
ExecStart=/usr/bin/dockerd --insecure-registry xxxxxxx(xx填harbor.cfg你的HOSTNAME)
  • 然后执行 docker-compose stop 停掉所有 Contianer,再执行 service docker restart 重启 Dokcer 服务,最后执行 docker-compose start 即可。

注意 : Docker 服务重启后,执行 docker-compose start 时有一定几率出现花样性错误,此时在 docker-compose stop 一下然后在启动即可,实在不行再次重启 Dokcer 服务,千万不要手贱的去删文件

接下来就可以开心的往Harbor上push你的镜像了。

docker login xxxx(Harbor地址)