Harbor是VMware公司开园的企业级Docker Registry项目,项目地址:https://github.com/vmware/harbor
一、下载离线安装包
进入https://github.com/goharbor/harbor/releases选择需要的版本进行下载
二、安装Docker
三、安装docker-compose
https://docs.docker.com/compose/install/
1、下载
运行以下命令以下载Docker Compose的当前稳定版本:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
直接下载安装包解压也可以
https://github.com/docker/compose/releases
2、给Compose二进制赋予可执行权限
# chmod +x /usr/local/bin/docker-compose
四、自签TLS证书
https://github.com/vmware/harbor/blob/master/docs/configure_https.md
1、解压harbor
# tar -zxvf harbor-offline-installer-v1.9.3.tgz
2、在harbor目录下创建ssl目录
# mkdir ssl
此目录主要存放https证书文件
3、获取证书
步骤跟着官网走就行
https://github.com/vmware/harbor/blob/master/docs/configure_https.md
五、Harbor安装与配置
1、配置harbor.cfg文件
#安装https证书的主机名
hostname=yourdomain.com
ui_url_protocol=https
##这两名字一定要和ssl文件下的一致
ssl_cret=./ssl/yourdomain.com.crt
ssl_cret_key=./ssl/yourdomain.com.key
#可以自定义登录harbor的密码
harbor_admin_password=123456
2、执行
[root@omsdev harbor]# ./prepare
3、安装
[root@omsdev harbor]# ./install.sh
会拉harbor需要的镜像
需要耐心等待
4、查看当前容器
[root@omsdev harbor]# docker-compose ps
如果都为up则证明成功了
六、Docker主机访问Harbor
通过https://yourdomain.com访问
这里应该会访问不了,应为yourdomain.com没有解析,需要去修改hosts文件
10.15.32.23 yourdomain.com
不用过继续就行,应为https的证书是自己颁发的所以不可靠,买的就没事了
输入用户名密码admin/123456
然后就可以创建用户、创建项目和管理镜像
七、Docker主机从Harbor上传下载镜像
Docker主机地址:10.15.32.20
Harbor主机地址:10.15.32.23
现在需要在docker主机上上传下载镜像需要完成如下步骤
1、需要把Harbor的https证书移到Docker主机上(因为我们是自签证书,linux解析不了,所以需要移过来)
1.1、新建目录
# mkdir /etc/docker/certs.d/yourdomain.com -p
1.2、将Harbor主机地址的yourdomain.com.crt文件拷到Docker主机新建的yourdomain.com目录下
认证只需要crt就行,key不需要
2、修改Docker主机的hosts文件
# vi/etc/hosts
10.15.32.23 yourdomain.com
不修改主机登陆不了
3、登录
#登录一定要写域名,否则会登录到hub.docker.com那
# docker login yourdomain.com
输入Harbor的用户名密码,可以是admin/123456,也可以是上一步在页面创建的新用户
4、上传
登录成功后就可以上传镜像
4.1、先给镜像打tag
# docker tag nginx:1.12 your.domain/test/nginx:1.12
test:项目名
your.domain:harbor的域名
4.2、推送
# docker push your.domain/test/nginx:1.12
然后进入harbor的浏览器页面则可以在test项目下查看
5、下载
也是先登录
登录成功后下载
# docker pull your.domain/test/nginx:1.12