Docker官方的Docker Registry镜像,可以用来储存和分发Docker镜像。不过实在不昨的,仅仅能储存和分发镜像,也不提供UI,你还得自己找一个过时的UI搭建,受限制于Docker Registry,能找到的开源UI界面多数也不昨的。相反精心设计过的HarBor 最合适企业级应用,提供良好的WEB界面进行管理并且集成了相当多的功能,十分舒服。

前置条件

安装docker:Docker 安装,常用命令 - Net码畜 - 博客园 (cnblogs.com)

安装docker-docker-compose:Releases · docker/compose · GitHub

docker-compose离线安装:

从GitHub上面下载二进制文件(选择docker-compose-linux-x86_64 版本),然后拷到服务器路径下:/usr/local/bin/ ,将文件重命名为:docker-compose ,那么完整的路径是:/usr/local/bin/docker-compose

给权限:

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

测试结果:

docker-compose --version

harbor搭建

harbor支持在线安装和离线安装两种模式,建议离线安装,毕竟离线下载都是件困难的事件,咱们就别搞什么在线安装给自己刨坑了。

官网地址:https://goharbor.io/

github下载地址:Releases · goharbor/harbor (github.com)

从github上面下载最新之后,上传至服务器(假设是根目录),然后解压文件。

tar xzvf harbor-offline-installer-v2.8.2.tgz

进入harbor文件夹,将配置文件harbor.yml.tmpl 修改为harbor.yml之后,编辑harbor.yml

第一个圈圈是修改主机名可以填写IP,正式环境建议使用域名否则docker login容易出现不清不楚的问题(亲测,改用域名之后就流畅了)。

第二圈是禁用HTTPS,看你的需求了。

第三圈是安装的默认密码,账号是admin, 密码是Harbor12345 , 自行修改。

修改完之后,直接运行。

./install.sh

静静等待,默认会帮你搞定一切,提示成功之后,输入IP/域名就可以访问了

服务重启

使用docker ps 查看容器,你会发现很多容器在运作,才保证这么多功能的Harbor在正常运行。

harbor依赖很多镜像组成服务,这些容器是必须启动,官方推荐配置是2核4G,为了保证这些容器的启动正常,内置了一个容器编排文件:docker-compose.yml

重启服务器使用docker ps 查看,你会发现多容器没有在运行,原因是因为这些容器设置:restart: always ,但是容器之间有依赖关系,因为没有按正确的顺序启动导致部分容器启动之后就失败了,所以需要你手动在Harbor目录下运行:docker-compose.yml

docker-compose up -d

-d 表示在后台运行,docker-compose 会自己寻找当前目录下docker-compose.yml运行。如果每次重启手动运行嫌麻烦,可以做起服务,让系统重启帮你运行一次。

使用命令: vi  /etc/systemd/system/harbor.service

[Unit]
Description=Harbor service
Requires=docker.service
After=docker.service [Service]
Type=simple
Restart=always
WorkingDirectory=/harbor //改成你的harbor路径
ExecStart=/usr/local/bin/docker-compose up //改成你的docker-compost路径 [Install]
WantedBy=multi-user.target

设置开机启动和启动

sudo systemctl enable harbor.service
sudo systemctl start harbor.service

重启服务器测试一下,万事大吉~

harbor 搭建和部署的更多相关文章

  1. Kubernetes集群搭建之企业级环境中基于Harbor搭建自己的私有仓库

    搭建背景 企业环境中使用Docker环境,一般出于安全考虑,业务使用的镜像一般不会从第三方公共仓库下载.那么就要引出今天的主题 企业级环境中基于Harbor搭建自己的安全认证仓库 介绍 名称:Harb ...

  2. harbor搭建及使用

    harbor搭建及使用   1 系统及软件版本 1.1 系统版本 # uname -a Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP ...

  3. Docker Harbor私有仓库部署与管理 (超详细配图)

    Docker Harbor私有仓库部署与管理 1.Harbor 介绍 2.Harbor部署 3.Harbor管理 1.Harbor 介绍: 什么是 Harbor ? Harbor 是 VMware 公 ...

  4. jenkins+git+maven搭建自动化部署项目环境

    简介    折腾了两个晚上,趁着今晚比较有空,把jenkins+git+maven搭建自动化部署项目环境搭建的过程记录一下,这里我把github作为git的远程仓库(https://github.co ...

  5. 使用gogs,drone搭建自动部署

    使用gogs,drone搭建自动部署 使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台Docker是使用go开发的开源容器引擎D ...

  6. 记录使用gogs,drone搭建自动部署测试环境

    使用gogs,drone,docker搭建自动部署测试环境 Gogs是一个使用go语言开发的自助git服务,支持所有平台 Docker是使用go开发的开源容器引擎 Drone是一个基于容器技术的持续集 ...

  7. LAMP 搭建wordpress部署教程贴.

    LAMP 搭建wordpress部署教程贴.这是一篇主要将LAMP,并且通过wordpress来进行验证,演示.如何去部署PHP CMS很多新手看到LAMP就很很头大,觉得很难搞,编译安装,搞了好几天 ...

  8. 企业级镜像仓库harbor搭建

    企业级镜像仓库harbor搭建 一.    Harbor概述 VMware公司最近开源了企业级Registry项目Harbor,其的目标是帮助用户迅速搭建一个企业级的Docker registry 服 ...

  9. Vue项目搭建与部署

    Vue项目搭建与部署 一,介绍与需求 1.1,介绍 Vue  是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue两大核心思想:组件化和数据驱动.组 ...

  10. React项目搭建与部署

    React项目搭建与部署 一,介绍与需求 1.1,介绍 1.1.1,React简介 React 是一个用于构建用户界面的 JAVASCRIPT 库. React主要用于构建UI,很多人认为 React ...

随机推荐

  1. 机器学习(五):混合高斯聚类(求聚类标签)+PCA降维(3维降2维)习题

    使用混合高斯模型 GMM,计算如下数据点的聚类过程: \(Data = np.array([1,2,6,7])\) 均值初值为: \(\mu_1, \mu_2 = 1, 5\) 权重初值为: \(w_ ...

  2. ORA-12154: TNS:could not resolve the connect identifier specified--sys密码包含@符号

    问题描述:在操作系统登录数据库时,由于忘记了sys密码,重新修改的sys密码包含@符号,登录时报错, ORA-12154: TNS:could not resolve the connect iden ...

  3. vue自定义组件——split-pane

    pre { overflow-y: auto; max-height: 500px } github地址: https://github.com/lxmghct/my-vue-components 组 ...

  4. day02-Redis命令

    Redis命令 1.Redis数据结构介绍 Redis是一个key-value的数据库,key一般是String类型,value的类型多种多样,value常见的八种类型: Redis支持五种基本的数据 ...

  5. Docker Go语言程序的编译与打包

    使用Docker打包Go程序的镜像 Golang镜像 首先使用docker pull获取golang镜像 $ sudo docker pull golang:1.18.3 查看镜像: $ sudo d ...

  6. switch case 穿透 示例

    public class SwitchCase { //判断输入的月份属于第几季度 public static void main(String[] args) { //随机获得 1-12个月份中的一 ...

  7. 天梯赛L1-027 出租

    一.问题描述 下面是新浪微博上曾经很火的一张图: 一时间网上一片求救声,急问这个怎么破.其实这段代码很简单,index数组就是arr数组的下标,index[0]=2 对应 arr[2]=1,index ...

  8. OpenAI的离线音频转文本模型 Whisper 的.NET封装项目

    whisper介绍 Open AI在2022年9月21日开源了号称其英文语音辨识能力已达到人类水准的Whisper神经网络,且它亦支持其它98种语言的自动语音辨识. Whisper系统所提供的自动语音 ...

  9. HashMap实现原理和自动扩容

    HashMap实现原理: JDK1.7:数组+单向链表(头插) 在并发情况下头插可能出现循环链表(死循环)问题.原因:因为头插,在新数组中链表的元素顺序发生了变化, 如上图,假设线程1在扩容,刚刚调整 ...

  10. windows 添加应用的临时签名

    我们需要给应用添加数字签名,比如沃通.DigiCert. 申请购买代码签名证书需要一段时间,或者个人开发的应用签名,所以我们需要临时证书. 打开VS-工具-命令行,下面是添加过程 1. 创建一个测试证 ...