harbor是一个开源的docker私有镜像仓库软件,安装比较简单,它是由多个docker容器服务组成的,所以第一步需要安装docker。


一、安装docker:可以参考docker菜鸟教程中的安装部分。


二、安装docker-compose:方便管理docker容器的一个软件,官网地址https://github.com/docker/compose/releases/,可以在里面找一个合适的版本下载。


三、安装harbor

  1. 1.下载解压安装包:官网地址:https://github.com/vmware/harbor/releases/,我下载的是2.0版本。

2. 配置harbor:harbor的模板配置文件是harbor.yml.tmpl,拷贝一份 -> harbor.yml。

3. 配置https:harbor默认工作方式是http,但是这只能在页面访问,默认harbor推送拉取镜像时走的是https,所以需要配置下https。

    1. 需要的文件:

            1. harbor.centos123.com.crt:服务器端的证书文件

            2. harbor.centos123.com.key:服务器端的秘钥

            3. ca.crt:客户端的证书文件

    2. 生成秘钥和自签名证书:

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt

    这里的问题随便填写就行

    3. 生成证书签名请求域名访问,就把common name的值写为域名

openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.centos123.com.key \
-out harbor.centos123.com.csr

    4.生成服务器证书

openssl x509 -req -days 365 -in harbor.centos123.com.csr -CA ca.crt \
-CAkey ca.key -CAcreateserial -out harbor.centos123.com.crt

    最终得到的是这样的目录:

                      

    5.安装证书:
        将服务器需要的文件拷贝到一个目录下,我放在了 /etc/cert/harbor下面:

     

        将配置文件也一起修改了:

             

    6.安装并启动harbor:
        直接执行harbor目录下的install.sh脚本即可。

                    

    7.配置下host,打开浏览器就可以用https访问了
        默认账号是 admin 密码 Harbor12345

    8.docker 登录:
        首先配置host,然后在 /etc/docker/certs.d目录下创建目录,目录名称就是配置的hostname。然后将客户端证书放入该目录即可。

                

        测试下登录:

                            

    9.docker推送镜像:
        登录harbor,可以看到有一个预置的项目,library。

        直接推送到这个项目就行,

        

        可以看到已经推送成功: