ubuntu 安装harbor仓库

一、介绍

  1. Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理。所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务。
  2. Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。

二、Harbor核心组件解释

  • Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。
  • db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
  • UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。
  • jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。
  • Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。
  • Registry:镜像仓库,负责存储镜像文件。
  • Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

三:Harbor和Registry的比较

Harbor和Registry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。

1.提供分层传输机制,优化网络传输
Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
2.提供WEB界面,优化用户体验
只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
3.支持水平扩展集群
当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。
4.良好的安全机制
企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。
5.Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

四:Harbor简单部署

官方最小配置

  • 2个cpu
  • 4g内存
  • 40g硬盘,因为是存储镜像的所以推荐硬盘大点

安装前配置

在真正安装之前,我们还要安装下面这几个组件

  • docker
  • docker-compose
  • python
  • openssl

安装docker

更新apt源,并添加https支持

sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates curl software-properties-common -y

使用utc源添加GPG Key

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add 

添加Docker-ce稳定版源地址

sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装docker-ce

目前最新版本是19.03.1

sudo apt-get update
sudo apt install -y docker-ce=5:19.03.1~3-0~ubuntu-xenial

安装docker-compose

参考官方链接:https://docs.docker.com/compose/install/

运行此命令下载docker compose的当前稳定版本:

sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

对二进制文件应用可执行权限

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

由于ubuntu 16.04,默认已经有了python3,openssl也已经安装好了。

[email protected]:~# dpkg -l |grep openssl
ii  libgnutls-openssl27:amd64           3.4.10-4ubuntu1.4                          amd64        GNU TLS library - OpenSSL wrapper
ii  openssl                             1.0.2g-1ubuntu4.10                         amd64        Secure Sockets Layer toolkit - cryptographic utility

下载Harbor离线包

https://github.com/vmware/harbor/releases
安装有两种方式,一种是off-line ,一种是on-line,即离线和在线安装,离线安装需要下载的安装包较大,在线安装下载的安装包很小,课题根据自己的情况选择,我选择的是1.8.1版本

下载在线安装包

wget https://storage.googleapis.com/harbor-releases/release-1.8.0/harbor-online-installer-v1.8.1.tgz

如果无法访问google,我已经上传到百度网盘了,可自行下载

链接:https://pan.baidu.com/s/1mRtaFNfYViz5xywYB9GnXw
提取码:xsc0

安装Harbor

解压安装包

tar zxvf harbor-online-installer-v1.8.1.tgz -C /usr/src/
cd /usr/src/harbor

编辑配置文件

vim harbor.yml

修改hostname为本机ip地址

hostname: 192.168.10.122

其它参数,可以根据实际情况修改,去除多余的注释和空行,配置文件如下:

[email protected]:/usr/src/harbor# cat harbor.yml |grep -v "^#"|grep -v "  #"|grep -v "^$"
hostname: 192.168.10.122
http:
  port: 80
harbor_admin_password: Harbor12345
database:
  password: root123
data_volume: /data
clair:
  updaters_interval: 12
  http_proxy:
  https_proxy:
  no_proxy: 127.0.0.1,localhost,core,registry
jobservice:
  max_job_workers: 10
chart:
  absolute_url: disabled
log:
  level: info
  rotate_count: 50
  rotate_size: 200M
  location: /var/log/harbor
_version: 1.8.0

之后直接执行

./install.sh

出现以下提示,表示安装成功

? ----Harbor has been installed and started successfully.----

Now you should be able to visit the admin portal at http://192.168.10.122.
For more details, please visit https://github.com/goharbor/harbor .

之后如果你想修改某一个配置比如你要把域名修改一下,我是这么做的先修改上面harbor.cfg这个文件,之后重新执行install.sh这个文件就可以了

访问页面

http://192.168.10.122

使用默认的账号:admin,密码:Harbor12345登录验证

登录成功之后,效果如下:

五、测试推送镜像

登录到另外一台服务器,确保docker已经安装好了。

本地配置仓库地址

由于默认的harbor,已经创建了一个公开项目 libary。

vim /etc/docker/daemon.json

内容如下:

{"insecure-registries": ["192.168.10.122"]}

接着重启服务

systemctl restart docker

推送镜像

登录仓库,admin密码还是Harbor12345

[email protected]:~# docker login 192.168.10.122
Username: admin
Password:
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

现在下载一个镜像alpine

docker pull alpine

给镜像打tag

docker tag alpine:latest 192.168.10.122/library/alpine

推送镜像

[email protected]:~# docker push 192.168.10.122/library/alpine
The push refers to repository [192.168.10.122/library/alpine]
1bfeebd65323: Pushed
latest: digest: sha256:57334c50959f26ce1ee025d08f136c2292c128f84e7b229d1b0da5dac89e9866 size: 528

pull一次仓库上镜像的pulls就会加一次,可以在web界面上看的

注意事项

公开的项目,推送镜像时,docker必须要登录。

下载镜像时,无须登录。

非公开项目,下载和推送,必须docker登录才行。 

本文参考链接:

https://blog.51cto.com/11093860/2117805

https://yq.aliyun.com/articles/637155

原文地址:https://www.cnblogs.com/xiao987334176/p/11326467.html

时间: 2024-10-31 13:42:54

ubuntu 安装harbor仓库的相关文章

离线手动部署docker镜像仓库——harbor仓库(二)

前言: 在<离线手动部署docker镜像仓库--harbor仓库(一)>中,记录了离线部署harbor仓库的简单过程,这里主要记录修改默认访问端口80端口为1180端口的部署方式和注意点. 实验环境:harbor服务器系统:CentOS Linux release 7.4.1708 (Core)harbor服务器IP:10.0.0.101harbor版本:v1.5.0docker版本:1.13.1另外为了测试pull镜像,使用了另一台test102机器:10.0.0.102 部署过程: 1.下

安装harbor私有镜像仓库

有朋友安装harbor的过程中遇到很多问题,为此写一篇最简单安装harbor的文档,希望能帮助所有刚开始接触harbor的新手.harbor的架构不做探究. 实验验环境:os --> centos7.3.1611harbor 192.168.20.10client 192.168.20.20注:[关闭防火墙和selinux] harbor ---> 192.168.20.101.安装相关软件yum -y install docker docker-compose 2.启动docker服务sys

搭建harbor仓库、LDAP认证

ldap: 192.168.199.177 c5game.com 宿主机:192.168.199.224 测试客户机:192.168.199.223 安装docker.docker-compose 访问查看最新版本https://github.com/goharbor/harbor/releases并下载harbor-offline-installer-vxxx.tgz [[email protected] ~]# cd /opt/ [[email protected]-registry opt

Linux/Ubuntu安装搜狗输入法

零.你首先需要安装fcitx小企鹅输入法,相信绝大部分用linux的中国人都用这个输入法,安装fcitx后同时还能解决Sublime Text的中文输入问题. 安装fcitx输入法前首先要安装fcitx源: sudo add-apt-repository ppa:fcitx-team/nightly sudo apt-get update fcitx 安装方法举例:你linux发行版里的应用商店,找到并点击安装:从其项目主页下载并安装:可爱的命令行们,以Ubuntu的apt为例:sudo apt

一个程序员的Ubuntu安装的那些软件

鄙人程序猿一枚,Android开发,常年使用Ubuntu(主要是买不起Mac,O(∩_∩)O哈哈~).分享一下自己使用的那些软件,如果你有什么好的软件.欢迎与我交流. 输入法:开始的时候是用的fcitx,后来搜狗出了linux版本,选择之.下载链接 办公软件:WPS Linux,真心很好用,比libreOffice好用不止一点.下载链接 注意:下载alpah版本. 浏览器:chrome 和 FireFox,不解释,一个浏览器不够用的.这两个,开发调试都够了.关于支付宝的话,可以安装支付宝官方给的

ubuntu安装最新docker

不安装旧版docker,如果有旧版可以先使用命令卸载. $ sudo apt-get remove docker docker-engine docker.io 为了能更新docker,所以我选择先安装docker仓库.(1)更新    $ sudo apt-get update(2)安装包以使apt可以通过HTTPS使用存储库:    $ sudo apt-get install \    apt-transport-https \    ca-certificates \    curl \

ubuntu安装配置Apache2和SVN

由于新公司要搭建新的svn,我因为之前有linux的基础,而且确实在linux中搭建SVN服务器更好维护也更稳定,所以主动接下了任务,然后在网上找了很多资料,发现都不太完整而且资料比较老,下面将自己的搭建过程做个记录,以供其他朋友们做参考 ubuntu安装配置Apache2和SVN 我习惯进入root下操作,所以首先 第一步:安装apache2,subversion,libapache2-svn apt-get install apache2 apt-get install subversion

centos7 安装harbor docker镜像库

安装docker,git yum install docker  docker-logrotate git -y 安装docker-compose yum install python-pip -y pip install --upgrade pip pip install docker-compose pip install --upgrade backports.ssl_match_hostname 下载harbor git clone https://github.com/vmware/h

Ubuntu安装PyCharm

转载:http://www.cnblogs.com/zhcncn/p/4027025.html 1. 下载 http://www.jetbrains.com/pycharm/download/ 选择Linux Tab,选择下载免费的Community Edition[1].当前版本是3.4 2. 安装PyCharm 按照官网给出的安装指导[2]进行安装. (1) Copy the pycharm-*.tar.gz to the desired installation location (mak