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. python入门教程之十一迭代器、生成器和装饰器

    迭代器 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器是一个可以记住遍历的位置的对象. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退 ...

  2. pythonz之time库常用方法

    ime.time() 获取当前时间戳.time.ctime() 当前时间的字符串形式.time.localtime() 当前时间的 struct_time 形式.time.strftime() 用来获 ...

  3. [PKM] 服务器

    1 概述与基础常识 1.1 服务器的定义 定义: 服务器,英文名Server,指能提供某种服务的网络设备. 提供的主要服务包括:数据的接收和传递.数据的存储和数据的处理. 通俗点儿,我们可以把服务器比 ...

  4. MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图

    MQTT(EMQX) - Linux CentOS Docker 安装 MQTT 概述 MQTT (Message Queue Telemetry Transport) 是一个轻量级传输协议,它被设计 ...

  5. 【谷粒商城】(二)SpringCloudAlibaba分布式组件

    微服务 分布式组件 注册中心:每一个微服务上线都应该注册到注册中心.这样做的好处在于方便微服务之间的相互调用,比如订单服务想要调用商品服务,就可以通过注册中心查看有哪几台主机的商品服务进行了注册,然后 ...

  6. Java学习笔记04

    1. 循环进阶 1.1 无限循环 概念 ​ 循环一直停不下来,又叫死循环. for格式 for (;;) { 循环语句; } while格式 while (true) { 循环语句; } do...w ...

  7. 如何在 vue3 中使用 jsx/tsx?

    我们都知道,通常情况下我们使用 vue 大多都是用的 SFC(Signle File Component)单文件组件模式,即一个组件就是一个文件,但其实 Vue 也是支持使用 JSX 来编写组件的.这 ...

  8. 100026. 【NOIP2017提高A组模拟7.7】图

    题目大意: 给你n个点,每个点只有一条出路,请问每个点走了k步之后走过的权值和. 权值最小的边的权值. 考场想法: 考试时就先打了个暴力,然后发现一定会形成一个环,所以就想到了可以判环,然后 按照规律 ...

  9. Jquery实现复选框的选中和取消

    复选框的选中与取消 我在网上看了好多关于这个问题的解答,好多都是一两个按钮的触发事件,有的甚至没有任何效果,经过自己的调试发现这个方法好用一点: 首先我在页面上添加了这样一个复选框 我的复选框是动态加 ...

  10. 浏览器发送POST请求、DELETE请求

    1.浏览器发送POST请求 方法一: var xml = new XMLHttpRequest(); var url = "http://127.0.0.1:8800/admin/user& ...