Linux运维_Docker搭建私有仓库之Harbor

目录

Harbor概述

一、搭建Harbor私有仓库

1.1  下载Docker -Compose

1.1.1 去github官网搜索Docker -Compose

1.1.2 将下载好的文件上传到linux系统中。

 1.1.3 修改docker-compse-Linux-x86文件名为docker-compse,添加执行权限

1.1.4 为了方便操作,将docker-compose文件放到bin目录下,​

1.1.5 测试一下docker-compose命令

1.2 DockerA服务器的操作  安装所需工具

2  配置Harbor

2.1 下载Harbor安装包 

2.2  将安装包上传到虚拟机​

 2.3 解压到当前文件

 2.4 编写harbor配置文件

 2.5 执行安装脚本

2.6 编写docker主配置文件

2.7 重新启动docker服务

2.8 使用docker-compose工具启动所有容器

3 客户端访问web页面:

3.2  创建项目​

 3.3 上传镜像

3.4  test项目中可以看到该镜像​

 二、在dockerB服务器上测试下载镜像


Harbor概述

 Harbor是构建企业级私有docker镜像的仓库的开源解决方案,它是Docker Registry的更高级封装,
 它除了提供友好的Web UI界面,角色和用户权限管理,用户操作审计等功能外,它还整合了K8s的插件(Add-ons)仓库,即Helm通过chart方式下载,管理,安装K8s插件,而chartmuseum可以提供存储chart数据的仓库【注:helm就相当于k8s的yum】。另外它还整合了两个开源的安全组件,一个是Notary,另一个是Clair,Notary类似于私有CA中心,而Clair则是容器安全扫描工具,它通过各大厂商提供的CVE漏洞库来获取最新漏洞信息,并扫描用户上传的容器是否存在已知的漏洞信息,这两个安全功能对于企业级私有仓库来说是非常具有意义的。

一、搭建Harbor私有仓库

Harbor私有仓库和Registry私有仓库相比,功能强大很多,并且支持web图形化管理,所以在企业中非常受到欢迎!

基本环境描述:
两台docker服务器,dockerA创建Harbor私有仓库,dockerB用于测试!

1.1  下载Docker -Compose

1.1.1 去github官网搜索Docker -Compose

下载1.24.1版本的docker-compose

地址为:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64

 我们需要1.24.1 

 

1.1.2 将下载好的文件上传到linux系统中。

root用户 将文件放到/usr/local 目录下

 1.1.3 修改docker-compse-Linux-x86文件名为docker-compse,添加执行权限

[root@node001 local]# mv docker-compose-Linux-x86_64 docker-compose
[root@node001 local]# chmod 777 docker-compose 

1.1.4 为了方便操作,将docker-compose文件放到bin目录下,

 [root@node001 local]# mv docker-compose bin/

修改配置文件:[root@node001 bin]# vi /etc/profile

export PATH=$PATH:$JAVA_HOME/bin:/usr/local/bin
启动配置文件:[root@node001 bin]# .  /etc/profile

1.1.5 测试一下docker-compose命令

在任意目录下输入docker-compose命令。

看到如下提示:表示配置成功。

curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

1.2 DockerA服务器的操作  安装所需工具

//下载docker-compose工具所需的依赖(部署docker环境时,就可以安装了)

[root@node001 bin]# yum -y install yum-utils device-mapper-persistent-data lvm2
 

[root@dockerA ~]# docker-compose -v

docker-compose version 1.25.0, build 0a186604 //查看docker-compose工具版本信息,确保已经安装成功

2  配置Harbor

2.1 下载Harbor安装包 

  Release v1.7.0 · goharbor/harbor · GitHub

2.2  将安装包上传到虚拟机

 2.3 解压到当前文件

[root@node001 ~]# tar -zvxf harbor-offline-installer-v1.7.0.tgz -C /usr/local/

 2.4 编写harbor配置文件

 [root@node001 harbor]# vi harbor.cfg 

//编写其配置文件,其他版本默认是cfg结尾的,这个版本是yml结尾的,文件内容都一样的 hostname=10.16.32.154

//更改其为本机的IP地址

harbor_admin_password: 123456

//这一行原本就是存在,不需要自行填写,只需记得它的用户名和密码即可,有需要可以自行进行修改

 2.5 执行安装脚本

[root@node001 harbor]# ./install.sh 

//执行安装脚本

2.6 编写docker主配置文件

 root@dockerA harbor]# vi /usr/lib/systemd/system/docker.service

//编写docker主配置文件

ExecStart=/usr/bin/dockerd --insecure-registry 10.16.32.154

//跟registry差不多,主要harbor配置文件中没有填写端口号,这里也可添加,否则可能会出现错误

2.7 重新启动docker服务

[root@dockerA harbor]# systemctl daemon-reload

[root@dockerA harbor]# systemctl restart docker

//重新启动docker服务

[root@dockerA harbor]# pwd

/usr/local/harbor

//注意目录,必须在这个目录下

2.8 使用docker-compose工具启动所有容器

[root@dockerA harbor]# docker-compose start

//使用docker-compose工具启动所有容器(因为在重新启动docker时,所有的容器都已经关闭了) [root@dockerA harbor]# netstat -anpt | grep 80

//确认80端口在监听 tcp6 0 0 :::80 :::* LISTEN 22871/docker-proxy

3 客户端访问web页面:

3.2  创建项目

 3.3 上传镜像

本地有一个tomcat:8.5   想将tomcat:8.5镜像推送到 test项目下

[root@node001 harbor]# docker tag tomcat:8.5 10.16.32.154/test/tomcat:8.5
[root@node001 harbor]# docker images
REPOSITORY                      TAG             IMAGE ID       CREATED        SIZE
hello-world                     latest          d1165f221234   5 months ago   13.3kB
goharbor/chartmuseum-photon     v0.7.1-v1.7.0   666d74cc236a   2 years ago    111MB
goharbor/harbor-migrator        v1.7.0          482699d98927   2 years ago    799MB
goharbor/redis-photon           v1.7.0          8adff755797f   2 years ago    96.1MB
goharbor/clair-photon           v2.0.7-v1.7.0   7e72f6ba05bd   2 years ago    165MB
goharbor/notary-server-photon   v0.6.1-v1.7.0   b4a22960dfce   2 years ago    102MB
goharbor/notary-signer-photon   v0.6.1-v1.7.0   bb0db7ebd1de   2 years ago    99.6MB
goharbor/harbor-registryctl     v1.7.0          1906a8b84fa5   2 years ago    101MB
goharbor/registry-photon        v2.6.2-v1.7.0   677f21b09362   2 years ago    86.4MB
goharbor/nginx-photon           v1.7.0          6ed96fc73f83   2 years ago    35.5MB
goharbor/harbor-log             v1.7.0          722fa4a77846   2 years ago    81MB
goharbor/harbor-jobservice      v1.7.0          effd390c0cd4   2 years ago    83.8MB
goharbor/harbor-core            v1.7.0          2ebd58ce5638   2 years ago    95.2MB
goharbor/harbor-portal          v1.7.0          72a291f86bab   2 years ago    40.2MB
goharbor/harbor-adminserver     v1.7.0          9f850341a571   2 years ago    72MB
goharbor/harbor-db              v1.7.0          45d94fe5fee5   2 years ago    133MB
10.16.32.154/test/tomcat        8.5             b226d7ee3462   4 years ago    292MB
tomcat                          8.5             b226d7ee3462   4 years ago    292MB
[root@node001 harbor]# docker push 10.16.32.154/test/tomcat
Using default tag: latest
The push refers to repository [10.16.32.154/test/tomcat]
tag does not exist: 10.16.32.154/test/tomcat:latest
[root@node001 harbor]# docker push 10.16.32.154/test/tomcat:8.5
The push refers to repository [10.16.32.154/test/tomcat]
dca12996278a: Pushed 
337d5828f17f: Pushed 
7c522249bcb2: Pushed 
ba1b854af66a: Pushed 
3f7a86f1643e: Pushed 
f55bf32d0637: Pushed 
8394eb34d9c2: Pushed 
3c24c63114ae: Pushed 
2dd32f40dedd: Pushed 
6327a1518771: Pushed 
995042ba10ad: Pushed 
fe40be59465f: Pushed 
cf4ecb492384: Pushed 
8.5: digest: sha256:99fa3e26170ea08f2a29e63d4b58c35726a439b3f394d5121270021230d2fafa size: 3045

3.4  test项目中可以看到该镜像

 二、在dockerB服务器上测试下载镜像

[root@dockerB ~]# vi /usr/lib/systemd/system/docker.service 
//编写docker的主配置文件
 13 ExecStart=/usr/bin/dockerd --insecure-registry 10.16.32.154
//指定harbor服务器的IP地址
[root@dockerB ~]# systemctl daemon-reload 
[root@dockerB ~]# systemctl restart docker       //重新启动docker服务
[root@dockerB ~]#  docker login -u admin -p 123456 10.16.32.154
//登录到harbor服务器
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
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                   //登录成功
[root@dockerB ~]# docker pull 10.16.32.154/test/tomcat:8.5
//下载镜像进行测试
[root@dockerB ~]# docker images

实现harbor高可用

 步骤一:

目标名写项目名

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值