Harbor是VMware公司开园的企业级Docker Registry项目,项目地址:https://github.com/vmware/harbor

一、下载离线安装包

进入https://github.com/goharbor/harbor/releases选择需要的版本进行下载

开源私有docker镜像库 docker compose 私有镜像_docker

二、安装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

开源私有docker镜像库 docker compose 私有镜像_docker_02

不用过继续就行,应为https的证书是自己颁发的所以不可靠,买的就没事了

开源私有docker镜像库 docker compose 私有镜像_开源私有docker镜像库_03

输入用户名密码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