背景
由于业务需要使用docker发布项目,使用dockhub相对不安全,所以需要搭建自己的一套镜像仓库。这里选用了目前主流的harbor作为私有镜像仓库。由于网上的安装教程大多是老版本的,安装过程中踩了不少坑,截止到目前最新版本为1.9.2,这里就以1.9.2版本为例安装harbor,并配置https访问。
1. 安装docker-compose
首先需要安装docker,参考我的另一篇文章:最新版harbor使用docker-compose安装,所以需要先安装docker-compose,由于github下载较慢,我们这里使用daocloud的镜像安装。
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
2. 下载harbor-1.9.2
harbor的github地址:https://github.com/goharbor/harbor/releases
如果服务器无法连接外网可以下载离线安装包,我这里演示的是在线安装。
wget https://github.com/goharbor/harbor/releases/download/v1.9.2/harbor-online-installer-v1.9.2.tgz
tar xzf harbor-online-installer-v1.9.2.tgz
3. 修改harbor.yml
在正式安装前需要根据自己的需求修改配置文件。在老版本中使用的是harbor.cfg文件,这也是大部分网上教程给的配置方法,所以新手用户会感觉很坑。harbor常用配置如图:
4. http方式安装
由于harbor默认使用http方式,所以使用默认配置即可。
cd harbor
./prepare
docker-compose up -d
5. https方式安装
使用https需要配置证书,这里需要先生成https证书,为了免去不必要的麻烦,我这里使用的是阿里云免费证书。直接使用openssl创建也可以,但是访问会有安全提示。具体如何申请阿里云免费证书这里就不贴出了。
将证书下载上传至服务器,我这里放在/root/ca文件夹下,我这里假设证书的域名为harbor.xxxxx.cn,并配置好dns,修改harbor.yml配置,如图:
配置完成后需要停掉老的http项目
docker-compose down
然后重新部署
cd harbor
./prepare
docker-compose up -d
现在就可以使用浏览器访问:https//harbor.xxxxx.cn,输入用户名:admin,密码:Harbor12345即可登录。
6. 上传下载镜像
如果项目属于私有项目需要先登录
- 登录仓库
docker login {Harbor地址}:{端口}
- 标记镜像
docker tag {镜像名}:{tag} {Harbor地址}:{端口}/{Harbor项目名}/{自定义镜像名}:{自定义tag}
- 上传镜像
docker push {Harbor地址}:{端口}/{自定义镜像名}:{自定义tag}
- 下载镜像
docker pull {Harbor地址}:{端口}/{自定义镜像名}:{自定义tag}