harbor是一个私有的docker仓库,可以搭在公司服务器上,方便内部人员使用。
harbor服务是由许多docker镜像服务支撑的,所以安装docker必不可少,可以参考docker菜鸟教程安装教程。
接着安装一个管理docker的组件:docker-compose
https://github.com/docker/compose/releases
这是官方github地址,可以选择一个版本下载,我下载的是1.25.5版本。
下好之后放到/usr/local/bin下,方便使用,或者做个软链接。
下面是正式安装部分:
- 下载安装包:
https://github.com/goharbor/harbor/releases
访问官网,然后选取一个版本下载:
我下载的是2.0版本。将压缩包解压。
- 修改配置文件
harbor.yml.tmpl是harbor配置文件模板,拷贝一份 -> harbor.yml
hostname一般配置成域名就好了,这样也比较方便,ip的我并没有尝试。
harbor默认是支持http的,在推送或者拉取的时候是需要https协议的,所以需要设置证书,也就是第二个红箭头的路径是需要生成证书以后才能填写的。其他信息默认就好。如果不想用https,把https相关的注释掉即可,但是这样只能在页面访问,无法用docker命令推送或拉取。
- 配置https:
参考资料:https://ivanzz1001.github.io/records/post/docker/2018/04/09/docker-harbor-https#3-%E9%85%8D%E7%BD%AE%E4%B8%8E%E5%AE%89%E8%A3%85
最终需要的是三个文件,两个是上面配置文件中待填写的文件路径,包括一个证书和一个秘钥,另外一个是客户端需要的证书。
- 所需文件:
- 服务器证书:harbor.centos123.com.crt
- 服务器秘钥:harbor.centos123.com.key
- 客户端证书:ca.crt(通信使用)
- 创建自签名根证书:
- 生成客户端证书:
openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt
-
生成服务器秘钥:
openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.centos121.com.key -out harbor.centos121.com.csr
-
生成服务器证书:
openssl x509 -req -days 365 -in harbor.centos121.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out harbor.centos121.com.crt
- 生成客户端证书:
-
将生成的服务器证书和服务器秘钥地址填写到上面配置文件中。
-
执行目录下的install.sh脚本即可安装启动。