Docker Harbor安装、使用

docker 官方地址

1. harbor的概述

harbor是VMware公司开源的企业级docker registry项目。主要是实现为用户去迅速搭建一个docker registry服务。

提供了可视化UI界面,提供了多个项目的镜像权限管理及控制功能。安装后可以体验下。

Harbor的每个组件都是以Docker 容器的形式构建的,使用docker - compose来对它进行部署。用于部署Harbor 的docker- compose模板位于 harbor/ docker-compose.yml。

2. harbor 的核心组件

1、Proxy: Harbor 的Registry、UI、Token 服务等组件,都处在nginx 反向代理后边。该代理将来自浏览器、docker clients 的请求转发到后端不同的服务上。

2、Registry:负责储存Docker 镜像,并处理Docker push/pull 命令。

由于要对用户进行访问控制,即不同用户对Docker镜像有不同的读写权限,Registry 会指向一个Token 服务,强制用户的每次Docker pull/push 请求都要携带一个合法的Token,Registry会通过公钥对Token 进行解密验证。

3、core services: Harbor的核心功能,主要提供以下3个服务

1. UI (harbor-ui) :提供图形化界面,帮助用户管理Registry. 上的镜像(image) ,并对用户进行授权。
2. WebHook: 为了及时获取Registry上 image状态变化的情况,在Registry上配置Webhook, 把状态变化传递给UI模块。
3. Token 服务:负责根据用户权限给每个Docker push/pull 命令签发Token。 Docker 客户端向Registry 服务发起的请求,如果不包含Token, 会被重定向到Token 服务,获得Token 后再重新向Registry 进行请求。

4、Database (harbor-db) :为core services提 供数据库服务,负责储存用户权限、审计日志、Docker镜像分组信息等数据。

5、Job services:主要用于镜像复制,本地镜像可以被同步到远程Harbor实例上。

6、Log collector (harbor-log) :负责收集其它组件的log,供日后进行分析,健康检查等      

3.Harbor构建Docker私有仓库

1.环境准备:

CentOS7.6、docker 、docker-compose 、harbor 包。

2.安装并启动docker

1.检查内核版本,必须是3.10及以上
# yum list installed | grep docker
2、检查内核版本,必须是3.10及以上
# uname -r
3.把yum包更新到最新
# yum update
4.存在旧版本_删除旧版本
 #sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
5.需要的安装包
# sudo yum install -y yum-utils
6.设置镜像的仓库
# sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
7.更新 yum安装包
# yum makecache fast
8.安装docker
# sudo yum install docker-ce docker-ce-cli containerd.io
9、启动docker
# systemctl start docker
设置开机启动docker
# systemctl enable docker
关闭docker命令
# systemctl stop docker
10、查看版本
#  docker version
11、检测是否启动成功,可以使用search命令
# docker search mysql

3.安装Docker-compose

Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

Compose 使用的三个步骤:

  • 使用 Dockerfile 定义应用程序的环境。

  • 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。

  • 最后,执行 docker-compose up 命令来启动并运行整个应用程

下载最新版本 docker-compose 等待自动安装。

curl -L https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose

二进制文件赋可执行权限

chmod +x /usr/local/bin/docker-compose

测试下docker-compose是否安装成功: docker-compose --version

4、Harbor服务搭建及启动

1、下载Harbor安装文件

# mkdir -p /harbor
# cd /harbor/
# wget https://github.com/goharbor/harbor/releases/download/v1.10.10/harbor-online-installer-v1.10.10.tgz
# tar -zxf harbor-online-installer-v1.10.10.tgz 

2、修改配置Harbor

[root@localhost harbor]# ls
harbor  harbor-online-installer-v1.10.10.tgz
[root@localhost harbor]# cd harbor
[root@localhost harbor]# ls
LICENSE  common  common.sh  docker-compose.yml  harbor.yml  install.sh  prepare
[root@localhost harbor]# vi harbor.yml

注意:

首先要修改hostname为机器地址,使用的是http,所以https部分需要注掉。端口自定义

3、启动Harbor

在Harbor目录下

./install.sh 

docker-compose up -d

注意:启动时 docker、docker-compose是正常运行状态。

修改配置文件后 ,避免修改不生效,执行:

systemctl daemon-reload
systemctl restart docker

 Harbor依赖的镜像及启动服务如下:

4、访问Harbor

根据上面的配置。我这里访问 http://192.168.87.131:5100/

默认用户 和登录密码 可以从 harbor.yml 中找到,官网有个地方也有说明。可以修改中的密码。

admin   Harbor12345

页面

5.docker 私有仓库的使用

1、仓库登录: 

    docker login -u admin -p Harbor12345 http://192.168.87.131:5100

2、制作镜像:可以是下载的镜像、通过dockerFile制作的镜像

    docker pull mysql
    docker build -f DockerFile
    docker save -o my_image.tar my_image:latest  
    docker save -o images.tar image1:tag1 image2:tag2 image3:tag3
    这个命令将会把名为 my_image:latest 的 Docker 镜像保存为一个名为 my_image.tar 的 tar 归档文件
    docker load -i my_image.tar : 这个命令将会加载 my_image.tar 文件中的镜像到 Docker 环境中。

3、然后为该镜像打上新的标签,标签格式为:Harbor地址/项目名/镜像名称:镜像标签。如:192.168.87.131:5100/test/action:2403086585

    docker tag 1d01459ee952 192.168.87.131:5100/test/action:2403086585

4、将镜像上传到私有仓库

    docker push 192.168.87.131:5100/test/action:2403086585

5、下载私有仓库的镜像

    docker pull 192.168.87.131:5100/test/action:2403086585

                
  • 41
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值