一. 部署

在一台CentOS上, 从零开始安装Harbor. 需要:

  • Docker
  • Docker-Compose

Docker 安装

1. 配置YUM源

使用阿里云的源

1
2
yum install wget -y 
wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo

2. 安装最新版本Docker

1
yum install docker-ce docker-ce-cli -y

3. 修改Docker 配置文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
mkdir /etc/docker/ 
cat > /etc/docker/daemon.json << EOF
{
"registry-mirrors": ["https://gqs7xcfd.mirror.aliyuncs.com","https://hub-mirror.c.163.com"],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF

4. 启动Docker 服务

1
systemctl daemon-reload && systemctl enable docker && systemctl start docker

5. 安装指定版本docker

列出所有Docker版本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
$ yum list docker-ce.x86_64 --showduplicates |sort

Available Packages
* base: mirrors.aliyun.com
....
docker-ce.x86_64            3:19.03.14-3.el7                   docker-ce-stable
docker-ce.x86_64            3:19.03.15-3.el7                   docker-ce-stable
docker-ce.x86_64            3:19.03.2-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.3-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.4-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.5-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.6-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.7-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.8-3.el7                    docker-ce-stable
docker-ce.x86_64            3:19.03.9-3.el7                    docker-ce-stable
docker-ce.x86_64            3:20.10.0-3.el7                                      docker-ce-stable
......
* elrepo: mirrors.tuna.tsinghua.edu.cn
* epel: hkg.mirror.rackspace.com
* extras: mirrors.aliyun.com
Installed Packages
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* updates: mirrors.aliyun.com

选择一个版本,进行安装, 这里选择 19.03.0-3.el7

1
yum -y install docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7

Docker-compose 安装

github的地址下载太慢,国内可以使用 http://get.daocloud.io/#install-compose 网站上面的地址。

下载docker-compose:

1
2
3
curl -L https://get.daocloud.io/docker/compose/releases/download/v2.12.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

查看版本: docker-compose -v

Harbor 安装

harbor github release页面,下载2.6.1版本的离线安装包.

并解压 tar -zxvf harbor-offline-installer-v2.6.1.tgz

Harbor 配置

修改配置 cp harbor.yml.tmpl harbor.yml

本机Http访问

  1. 获取本机IP ifconfig,例如本机IP为 10.2.140.33
  2. 修改hostname 为本机IP,10.2.140.33
  3. 修改data_volume 数据存放路径 /data/harbor-data
  4. 修改log/local/location 日志存放路径 /logs/harbor
  5. 修改harbor_admin_password admin 账户密码
  6. 注释Https相关配置, 否则无法启动.

校验: ./prepare --with-trivy --with-chartmuseum 启动: ./install.sh --with-chartmuseum --with-trivy

使用: 修改docker配置insecure-registries

1
2
3
4
5
6
7
8
{
  "registry-mirrors": [
    "https://ck7t003t.mirror.aliyuncs.com"
  ],
  "insecure-registries": [
    "10.2.140.33"
  ]
}

外部Nginx Https域名转发访问.

例如使用 harbor.demo.com 作为域名访问

  1. 修改hostnameharbor.demo.com
  2. 修改external_urlhttps://harbor.demo.com
  3. 修改data_volume 数据存放路径
  4. 修改log/local/location 日志存放路径
  5. 修改harbor_admin_password admin 账户密码

校验: ./prepare --with-trivy --with-chartmuseum 启动: ./install.sh --with-chartmuseum --with-trivy

配置外部Nginx

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
server {
    listen 443 ssl;
    server_name harbor.demo.com ;#修改为自己的域名
    ssl_certificate   ;  #域名证书
    ssl_certificate_key  ;  #域名证书
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass http://10.2.140.33:80;
        client_max_body_size 0;
        proxy_connect_timeout 90;
        proxy_read_timeout 90;
        proxy_buffer_size 4k;
        proxy_buffers 6 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
    }

二. LDAP接入

登录Harbor>配置管理>认证模式 选择认证模式为LDAP. LDAP

三. 参考

  1. https://get.daocloud.io/#install-compose
  2. https://goharbor.io/
  3. https://github.com/goharbor/harbor