华为云ECS-CentOS8.2部署(Harbor)Docker私有镜像仓库

  • 1、背景
  • 2、环境说明
  • 3、在CentOs中安装所需要的软件包
  • 4、部署Harbor
    • 4.1、安装docker-compose
      • 4.1.1 二进制文件方式安装
      • 4.1.2 pip方式安装
    • 4.2 安装Harbor
  • 5、重启Harbor
  • 6、支持http协议推送
    • 6.1 第一种方法是修改/usr/lib/systemd/system/docker.service
    • 6.2 第二种方法时编辑/etc/docker/daemon.json文件
    • 6.3 重启docker服务

1、背景

进入微服务架构开发时代,到部署系统时才发现是多么的麻烦,为了简化部署,不得不学习docker,因此就有了前面的几篇文章:

  • 华为云ECS服务器CentOS8.2安装docker
  • 华为云ECS服务器中通过docker搭建fastDFS文件服务器
  • 华为云ECS服务器中通过docker搭建nacos server
  • 华为云ECS服务器中通过docker搭建Redis服务器

而现在有涉及到发布微服务时,发现微服务的数量很多,为了简化发布过程,最好也是把服务打包到docker镜像中,使用docker进行容器化部署就方便多了,因此就需要一个企业自己的docker私有镜像仓库。
通过查阅互联网上的相关资料,基本相同,主要就是2种方式,一种是docker官方提供的registry,另一种是Harbor。只不过registry在管理功能上存在不足,harbor在docker distribution的基础上增加了一些安全、访问控制、管理的功能以满足企业对于镜像仓库的需求。为了管理镜像增加方便,本文重点介绍使用harbor搭建docker私有镜像仓库的过程。

2、环境说明

一台初始的华为云ECS服务器,操作系统使用的是最新CentOS8.2。建议使用Xshell作为客户端以管理员身份远程登录上服务器。

3、在CentOs中安装所需要的软件包

1、添加yum源

yum install epel-release -y

执行如下图:

EPEL(Extra Packages for Enterprise Linux)是Fedora团队的开源免费社区存储库项目,它为Linux发行版提供100%高质量的附加软件包,包括RHEL(Red Hat Enterprise Linux)、CentOS和Scientific Linux。Epel项目不是RHEL/Cent操作系统的一部分,但它是为主要的Linux发行版设计的,它提供了许多开源软件包,如networking、sys admin、programming、monitoring等等。

2、清理yum安装包

yum clean all

执行如下图:

4、部署Harbor

4.1、安装docker-compose

docker-compose的安装有多种方式,下面介绍最常用的2种方式。

4.1.1 二进制文件方式安装

1、在本机浏览器访问:https://www.docker.com/
如下图:

2、选择上图中Developers->Docs,如下图:

3、选择上图中的Manuals,如下图:

4、在上图中点击左侧菜单Docker Compose->Install Compose,右侧选择Linux系统,根据文档要求进行如下操作:
4.1 下载docker compose二进制文件

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

(下载有点慢,要耐心等待…)执行如下图:

4.2 修改可执行权限

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

4.3 验证docker-compose的安装

docker-compose --version

执行如下图:

4.4 如果执行docker-compose命令时失败,则可以通过创建软链接的方式修正安装目录。
4.5 删除docker-compose

rm -f /usr/local/bin/docker-compose

4.1.2 pip方式安装

1、前面的epel-release要安装,如果已经执行,则这步可省略

yum -y install epel-release

2、安装python3

dnf install -y python3

执行如下图:

3、安装python3-paramiko

dnf install python3-paramiko

执行如下图:

4、安装docker-compose

pip3 install docker-compose

执行如下图:

网速慢时,时间会长。
5、验证安装

docker-compse --version

执行如下图:

4.2 安装Harbor

1、本机浏览器进入harbor官网:https://goharbor.io/

2、选择上图中的DownLoad now,进入下载页面,如下图:

3、上图中可以看到有离线版本和在线版本。
这里获取到离线版本的下载链接为:https://github.com/goharbor/harbor/releases/download/v2.2.4/harbor-offline-installer-v2.2.4.tgz
4、下载离线包
先进入/opt/soft目录用于存放下载的安装包,如果没有此目录请线创建。

cd /opt/soft
wget https://github.com/goharbor/harbor/releases/download/v2.2.4/harbor-offline-installer-v2.2.4.tgz

由于网络问题,直接下载有点慢,可以现在本机电脑通过迅雷下载,然后再传到服务器上。
5、下载完毕后,进行解压缩

tar zxf harbor-offline-installer-v2.2.4.tgz -C /usr/local/

6、进入到harbor的安装目录

cd /usr/local/harbor

如下图:

7、复制harbor.yml.tmpl,生成harbor.yml,如下:

8、修改harbor.yml的内容
必须设置的参数如下:

  • hostname: 目标主机的主机名。它应该是目标计算机的 IP 地址或完全限定的域名(FQDN),例如:172.16.1.30 或 - reg.yourdomain.com。不要使用 localhost 或 127.0.0.1 作为主机名。
  • data_volume: Harbor 数据的存储位置
  • harbor_admin_password: 管理员的初始密码。此密码仅在 Harbor 首次启动时生效。请注意,默认用户 名/密码为 admin / Harbor12345
  • database: 与本地数据库相关的配置。
  • password: 默认数据库密码为 root123,应该改为一个安全的生产环境密码。

可选参数:

  • http:

port: http的端口号

  • https: 启用 https 协议。如果启用了秘钥,则必须设置为 https。

port: https 的端口号。
certificate: SSL 证书的路径,仅在协议设置为 https 时应用。
private_key: SSL 密钥的路径,仅在协议设置为 https 时应用。

9、执行安装脚本

./install.sh

执行如下图:




10、在本机浏览器输入hostname中配置的IP或域名访问harbor的管理控制台,如下图:

11、输入自己设定的用户名和密码,进入系统,如下:

至此Docker私有镜像仓库就搭建好了。

5、重启Harbor

harbor 通过docker-compose.yml配置文件的形式管理
5.1 进入/usr/local/harbor目录

cd /usr/local/harbor

5.2 停止harbor,停止容器

docker-compose stop

或者

docker-compose down -v

执行如下图:

5.3 启动harbor

docker-compose up -d

执行如下图:

6、支持http协议推送

正常情况下,应用服务器推送镜像到仓库用的是https,此处我们通过命令行来测试推送用的是普通的http,所以需要在客户端配置一下私有仓库的可信任设置让我们可以通过HTTP直接访问:

6.1 第一种方法是修改/usr/lib/systemd/system/docker.service

第一种方法:修改/usr/lib/systemd/system/docker.service文件,如下图:

6.2 第二种方法时编辑/etc/docker/daemon.json文件

6.2.1 编辑/etc/docker/daemon.json文件,如果没有则创建,如下:

vi /etc/docker/daemon.json

内容如下:

{"insecure-registries" : ["docker.wongoing.com"]
}

6.3 重启docker服务

注意2种方式不能同时设置,否则冲突会导致重启守护进程失败。

6.3.1 停止harbor

docker-compose down -v

6.3.2 重启docker
重启守护进程

systemctl daemon-reload

重启docker服务

systemctl restart docker

6.3.4 重启harbor

docker-compose up -d

华为云ECS-CentOS8.2部署(Harbor)Docker私有镜像仓库相关推荐

  1. caas k8s主控节点如何查询_k8s--04 部署harbor作为k8s镜像仓库

    k8s实战 部署harbor作为k8s镜像仓库 1.实验目标 部署k8s私有镜像仓库harbor把demo小项目需要的镜像上传到harbor上修改demo项目的资源配置清单,镜像地址修改为harbor ...

  2. 搭建Docker私有镜像仓库

    一.Docker镜像和容器的区别 Docker的整个生命周期由三部分组成:镜像(image)+容器(container)+仓库(repository) 容器等于镜像加上可读层,容器是由镜像实例化而来的 ...

  3. 阿里云部署Docker私有镜像仓库

    一.访问阿里云容器镜像服务地址 地址:https://cr.console.aliyun.com/cn-beijing/instances 提示开通->设置密码(为Docker仓库密码) 二.选 ...

  4. 【Docker】registry部署docker私有镜像仓库

    Docker Hub作为Docker默认官方公共镜像仓库,但是如果我们不想使用怎么办,第一我们可以替换默认镜像仓库为我们国内的一些镜像仓库,第二就是如我们自己搭建一个自己的私有镜像仓库,官方也提供do ...

  5. Docker私有镜像仓库是什么?

    Docker镜像仓库概述 镜像仓库作为Docker技术的核心组件之一,其主要作用就是负责镜像内容的存储和分发.Docker镜像仓库从使用范围来说分为"公有镜像仓库"和"私 ...

  6. 基于 registry 搭建 Docker 私有镜像仓库

    dockerhub: https://registry.hub.docker.com/_/registry 安装命令 docker run -p 5000:5000 -d -v /opt/regist ...

  7. Docker 私有镜像仓库的搭建及认证

    转自乐字节 DockerHub 为我们提供了很多官方镜像和个人上传的镜像,我们可以下载机构或个人提供的镜像,也可以上传我们自己的本地镜像,但缺点是: 由于网络的原因,从 DockerHub 下载和上传 ...

  8. 华为云CCE学习笔记-部署harbor(helm模板)

    一.创建CCE集群 登录华为云进入CCE控制台,创建CCE集群 集群配置自定义,由于要拉取第三方镜像要有弹性ip 使用ingress对外暴露访问,安装nginx-ingress插件 等待安装成功 创建 ...

  9. 基于 Harbor 搭建 Docker 私有镜像仓库

    什么是 Harbor? 第一次使用这个的时候是刚进公司处理的第一个任务的时候,发现 Harbor 就是一个用于存储和分发 Docker 镜像的企业级Registry 服务器. 网上找到一个 Harbo ...

最新文章

  1. angular2集成highchart
  2. C++ main函数中参数argc和argv含义及用法( argument count和 argument vector)
  3. 解决Windows下Arm下Linux下Qt4程序的中文乱码问题
  4. C++trie类的实现(附完整源码)
  5. hunnu---11547 你的组合数学学得如何?
  6. 作业 输出演练 1751
  7. oracle test 卡死,oracle11g plsql调试存储过程卡死的处理技巧
  8. java 可以直接当自定义标示符_JAVA 从头开始二
  9. SQL2008 行锁使用RowLock
  10. jchdl - GSL实例 - LogicalLeft
  11. Autojs实现图片转字符串(简易ocr预备步骤)
  12. elastic search配置ik分词及pinyin分词使搜索同时支持中文和拼音搜索
  13. 1.2版走迷宫小游戏(C++)
  14. 基于Jenkins搭建iOS持续集成开发环境
  15. 兼容所有浏览器的网页播放器
  16. 卷积神经网络——YOLOV1论文翻译
  17. Python今日编程——判断水仙花数然后求水仙花数
  18. SQL SERVER2008局域网内连不上问题
  19. python智慧树判断题_智慧树_Python数据分析与数据可视化_判断题答案
  20. 忘记root密码的解决方法

热门文章

  1. 学生成绩管理分析系统
  2. 26个字母vs几万个汉字,中国人的打字机曾造得多艰难?
  3. 三星公布Note7燃损原因 不惜成本历经数月调查揪出电池“元凶”
  4. title,description,keywords有什么价值?
  5. Unity开发数字孪生编辑器操作与Undo设计
  6. ps笔记:通过三种方式调节图片亮度
  7. Gurobi求解器基础入门官方教程
  8. 常见16种HTTP状态返回码
  9. stm32串口连接MC20输入AT指令无反应原因查找
  10. java 生成趋势图_JFreeChart折线图的生成方法