Harbor介绍
Habor是由VMWare中国团队开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,水平扩展,同步AD/LDAP集成以及审计日志等。
Harbor官网: https://github.com/goharbor/harbor
说明:https://github.com/goharbor/harbor/blob/master/docs/installation_guide.md

配置标准

基础配置:CPU:4核    内存:8G    disk:160G

组件配置:Docker版本:17.06-ce以上    docker-compose:1.18以上

环境部署

系统版本:CentOS Linux release 7.6.1810 (Core)
Docker版本:docker-ce-18.09.8
Harbor版本:1.8.1
服务器地址:192.168.5.143

修改主机名:hostnamectl set-hostname harbor.lkhedu.com

安装Docker

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce    安装最新stable版本

$ systemctl start docker && systemctl enable docker    启动并加入开机启动

部署docker-compose

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

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

$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

$ docker-compose --version
docker-compose version 1.24.1, build 4667896b

部署Harbor

$ curl -O https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-offline-installer-v1.8.1.tgz
$ tar xf harbor-offline-installer-v1.8.1.tgz -C /usr/local/
$ cd /usr/local/harbor && vim harbor.yml

#修改配置文件
hostname: harbor.lkhedu.com
https
  port:443
  certificate: ./ssl/harbor.lkhedu.com.crt
  private_key: ./ssl/harbor.lkhedu.com.key
harbor_admin_password: gogenius123@A

#这步操作要执行证书生成,在执行下面操作
$ ./prepare                 ###更新参数         
$ ./install.sh              ###启动

#查看信息
docker-compose up -d        ###后台启动,如果容器不存在根据镜像自动创建
docker-compose down   -v    ###停止容器并删除容器
docker-compose start        ###启动容器,容器不存在就无法启动,不会自动创建镜像
docker-compose stop         ###停止容器
docker-compose ps           ###查看state状态都为UP

如生产中可以使用购买授信证书

证书生成

cd /usr/local/harbor/ && mkdir ssl

$ openssl genrsa -out ca.key 4096

$ openssl req -x509 -new -nodes -sha512 -days 3650 \
>     -subj "/C=CN/ST=ZJ/L=HZ/O=gogen/OU=gogen.cn/CN=harbor.lkhedu.com" \
>     -key ca.key \
>     -out ca.crt

$ openssl genrsa -out harbor.lkhedu.com.key 4096

$ openssl req -sha512 -new \
>     -subj "/C=CN/ST=ZJ/L=HZ/O=example/OU=gogen.cn/CN=harbor.lkhedu.com" \
>     -key harbor.lkhedu.com.key \
>     -out harbor.lkhedu.com.csr

$ cat > v3.ext <<-EOF
> authorityKeyIdentifier=keyid,issuer
> basicConstraints=CA:FALSE
> keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
> extendedKeyUsage = serverAuth
> subjectAltName = @alt_names
>
> [alt_names]
> DNS.1=harbor.lkhedu.com
> DNS.2=hostname
> EOF

$ openssl x509 -req -sha512 -days 3650 \
>     -extfile v3.ext \
>     -CA ca.crt -CAkey ca.key -CAcreateserial \
>     -in harbor.lkhedu.com.csr \
>     -out harbor.lkhedu.com.crt

配置证书路径

$ mkdir -p /etc/docker/certs.d/harbor.lkhedu.com
$ cp ./ssl/harbor.lkhedu.com.crt /etc/docker/certs.d/harbor.lkhedu.com/

登陆测试

$ docker login harbor.lkhedu.com
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

浏览器访问

#配置windows下的DNS解析
C:\Windows\System32\drivers\etc\hosts

192.168.5.143 harbor.lkhedu.com

#浏览器输入访问的域名
https://harbor.lkhedu.com

账号:admin   密码:gogenius123@A

企业级Harbor部署_第1张图片

企业级Harbor部署_第2张图片