Docker Harbor安装、利用

打印 上一主题 下一主题

主题 1799|帖子 1799|积分 5401

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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. 1.检查内核版本,必须是3.10及以上
  2. # yum list installed | grep docker
  3. 2、检查内核版本,必须是3.10及以上
  4. # uname -r
  5. 3.把yum包更新到最新
  6. # yum update
  7. 4.存在旧版本_删除旧版本
  8. #sudo yum remove docker \
  9.                   docker-client \
  10.                   docker-client-latest \
  11.                   docker-common \
  12.                   docker-latest \
  13.                   docker-latest-logrotate \
  14.                   docker-logrotate \
  15.                   docker-engine
  16. 5.需要的安装包
  17. # sudo yum install -y yum-utils
  18. 6.设置镜像的仓库
  19. # sudo yum-config-manager \
  20.     --add-repo \
  21.     http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  22. 7.更新 yum安装包
  23. # yum makecache fast
  24. 8.安装docker
  25. # sudo yum install docker-ce docker-ce-cli containerd.io
  26. 9、启动docker
  27. # systemctl start docker
  28. 设置开机启动docker
  29. # systemctl enable docker
  30. 关闭docker命令
  31. # systemctl stop docker
  32. 10、查看版本
  33. #  docker version
  34. 11、检测是否启动成功,可以使用search命令
  35. # docker search mysql
复制代码
3.安装Docker-compose

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

Compose 利用的三个步骤:


  • 利用 Dockerfile 定义应用步伐的环境。
  • 利用 docker-compose.yml 定义构成应用步伐的服务,如许它们可以在隔离环境中一起运行。
  • 末了,执行 docker-compose up 命令来启动并运行整个应用程
下载最新版本 docker-compose 期待自动安装。
  1. curl -L https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
复制代码
二进制文件赋可执行权限
  1. chmod +x /usr/local/bin/docker-compose
复制代码
测试下docker-compose是否安装成功: docker-compose --version

4、Harbor服务搭建及启动

1、下载Harbor安装文件

  1. # mkdir -p /harbor
  2. # cd /harbor/
  3. # wget https://github.com/goharbor/harbor/releases/download/v1.10.10/harbor-online-installer-v1.10.10.tgz
  4. # tar -zxf harbor-online-installer-v1.10.10.tgz
复制代码
2、修改配置Harbor

  1. [root@localhost harbor]# ls
  2. harbor  harbor-online-installer-v1.10.10.tgz
  3. [root@localhost harbor]# cd harbor
  4. [root@localhost harbor]# ls
  5. LICENSE  common  common.sh  docker-compose.yml  harbor.yml  install.sh  prepare
  6. [root@localhost harbor]# vi harbor.yml
复制代码
留意:
起首要修改hostname为呆板地点,利用的是http,以是https部分必要注掉。端口自定义

3、启动Harbor

在Harbor目录下
  1. ./install.sh
  2. docker-compose up -d
复制代码
  留意:启动时 docker、docker-compose是正常运行状态。
  修改配置文件后 ,避免修改不见效,执行:
  1. systemctl daemon-reload
  2. systemctl restart docker
复制代码
 Harbor依靠的镜像及启动服务如下:

4、访问Harbor

根据上面的配置。我这里访问 http://192.168.87.131:5100/
   默认用户 和登录密码 可以从 harbor.yml 中找到,官网有个地方也有阐明。可以修改中的密码。
  admin   Harbor12345
  

页面

5.docker 私有堆栈的利用

  1. 1、仓库登录:
  2.     docker login -u admin -p Harbor12345 http://192.168.87.131:5100
  3. 2、制作镜像:可以是下载的镜像、通过dockerFile制作的镜像
  4.     docker pull mysql
  5.     docker build -f DockerFile
  6.     docker save -o my_image.tar my_image:latest  
  7.     docker save -o images.tar image1:tag1 image2:tag2 image3:tag3
  8.     这个命令将会把名为 my_image:latest 的 Docker 镜像保存为一个名为 my_image.tar 的 tar 归档文件
  9.     docker load -i my_image.tar : 这个命令将会加载 my_image.tar 文件中的镜像到 Docker 环境中。
  10. 3、然后为该镜像打上新的标签,标签格式为:Harbor地址/项目名/镜像名称:镜像标签。如:192.168.87.131:5100/test/action:2403086585
  11.     docker tag 1d01459ee952 192.168.87.131:5100/test/action:2403086585
  12. 4、将镜像上传到私有仓库
  13.     docker push 192.168.87.131:5100/test/action:2403086585
  14. 5、下载私有仓库的镜像
  15.     docker pull 192.168.87.131:5100/test/action:2403086585
复制代码
[code][/code]
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

东湖之滨

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表