概述
反正就是想搭建一个docker仓库,方便存放自己的镜像这样子
harbor介绍
harbor是一个开源的docker容器仓库,由下面几个组件组成
- proxy:用来接收docker客户端和浏览器端的请求,并且把请求转发给后端的服务
- registry:就是仓库,用来存储镜像的,
- 核心服务:提供web ui,数据库,token认证,webhook等功能
- 日志服务
- database:用来存储核心服务的一些数据
总之就上上面这个图这样子的架构
因为是vmware出品的,所以支持下面几种部署方式
- 在线安装
- 离线安装
- ova安装,这个直接在vcenter上导入就可以了
官方最小配置
- 2个cpu
- 4g内存
- 40g硬盘,因为是存储镜像的所以推荐硬盘大点
安装前配置
为了方便我是直接离线安装的,使用的系统是centos7
下载
wget https://storage.googleapis.com/harbor-releases/release-1.5.0/harbor-offline-installer-v1.5.1.tgz
在真正安装之前,我们还要安装下面这几个组件
- docker
- docker-compose
- python27
- openssl
首先安装docker
curl -fsSL get.docker.com -o get-docker.sh
chmod +x get-docker.sh
./get-docker.sh
systemctl start docker
之后安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
默认python27是安装在centos上的,openssl在安装前面东西的时候也会默认安装好的
[root@bboysoul ~]# rpm -qa |grep openssl
openssl-libs-1.0.2k-12.el7.x86_64
openssl-1.0.2k-12.el7.x86_64
安装
首先解压离线安装包
tar -xvf harbor-offline-installer-v1.5.1.tgz
之后配置harbor.cfg这个文件,要知道的是有的参数是可选的,就是不用配置的,有的参数是必选的,必选参数有的是有默认值的
下面是必选参数
- hostname
- ui_url_protocol
- db_password
- max_job_workers
- customize_crt
- ssl_cert
- ssl_cert_key
- secretkey_path
- log_rotate_count
- log_rotate_size
其余的都是可选的
我是推荐在本地搭建一个dns的服务器的,因为这样就可以设置一个域名,每次都访问ip太麻烦了,尤其是在上传镜像的时候每次都要想ip是什么
之后直接执行
./install.sh
就可以安装成功了
之后如果你想修改某一个配置比如你要把域名修改一下,我是这么做的先修改上面harbor.cfg这个文件,之后重新执行install.sh这个文件就可以了
还有修改一些端口只要修改docker-compose文件里面的端口就好了,挂载文件的路径也是一样的
安装完成之后访问你配置的域名,然后使用默认的账号:admin,密码:Harbor12345登录验证
本地配置仓库地址
首先在harbor上新建一个project,名字开行就好,之后本地配置docker的配置文件在下面这个文件加入
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"],
"insecure-registries": ["harbor.bboysoul.com"]
}
接着重启服务
systemctl restart docker
登录仓库
root@bboysoul:/home/bboysoul/temp/harbor# docker login harbor.bboysoul.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
给镜像打tag
docker tag ubuntu:16.04 harbor.bboysoul.com/bboysoul/ubuntu:16.04
上传镜像
docker push harbor.bboysoul.com/bboysoul/ubuntu:16.04
下载镜像
首先删除本地的
docker rmi harbor.bboysoul.com/bboysoul/ubuntu:16.04
docker rmi -f ubuntu:16.04
之后pull harbor服务器上的
docker pull harbor.bboysoul.com/bboysoul/ubuntu:16.04
pull一次仓库上镜像的pulls就会加一次,可以在web界面上看的
修改harbor端口
怎么去做这个修改端口呢,首先修改docker-compose.yml中nginx的端口映射,可以修改成别的端口,之后我们使用nginx去根据域名做端口转发就可以了,不需要做其他很复杂的配置
配置邮件重置密码
安装好之后管理员登录,在系统管理->配置管理->邮箱里面有配置的地方,在配置里面可以测试邮件,我的配置如下,使用的是qq企业邮箱
- 邮件服务器: smtp.exmail.qq.com
- 邮件服务器端口: 465
- 用户名: [email protected]
- 密码: 我的密码你是不可能知道的
- 邮件来源: [email protected] 这个一定要和用户名一样
- 邮件 SSL: 打钩
- 验证证书: 打钩
欢迎关注我的博客www.bboy.app
Have Fun