当前位置: 首页 > news >正文

docker技术之docker仓库的部署

目录

RHEL 6 上安装 Docker

RHEL 7/CentOS 7 上安装 Docker

Docker 基本操作

修改镜像源

注意事项

一、Harbor 概述

1. 基本概念

二、Harbor 核心组件解析

三、Harbor vs. Registry:核心差异

四、Harbor 部署指南(以 CentOS 7 为例)

1. 环境准备

2. 下载与配置 Harbor

五、常见问题与解决

六、总结


RHEL 6 上安装 Docker

  1. 更新内核:安装 kernel-ml-aufskernel-ml-aufs-devel,并重启系统。

  2. 安装 Docker:使用 yum 安装 docker-io

  3. 启动服务:启动 Docker 服务并设置开机自启。

RHEL 7/CentOS 7 上安装 Docker

  1. 安装系统工具:安装 yum-utilsdevice-mapper-persistent-datalvm2

  2. 添加 Docker YUM 源:使用 yum-config-manager 添加 Docker 的官方 YUM 源。

  3. 安装 Docker-CE:更新 YUM 缓存并安装 Docker 社区版。

  4. 启动服务:启动 Docker 服务。

Docker 基本操作

  • 查看 Docker 信息:使用 docker info 命令。

  • 镜像管理

    • docker search:搜索镜像。

    • docker pull:拉取镜像。

    • docker images:查看本地镜像。

    • docker tag:修改镜像名称。

    • docker inspect:查看镜像元数据。

    • docker push:上传镜像。

    • docker rmi:删除镜像。

  • 容器管理

    • docker run:创建并启动容器。

    • docker ps:查看运行中的容器。

    • docker exec:登录容器。

    • docker stop:停止容器。

    • docker rm:删除容器。

修改镜像源

通过编辑 /etc/docker/daemon.json 文件,添加镜像加速器地址,然后重新加载并重启 Docker 服务。

注意事项

  1. 内核版本:Docker 需要较新的内核版本才能正常运行,确保系统内核版本满足要求。

  2. 权限问题:在某些情况下,可能需要使用 sudo 来执行 Docker 命令,或者将用户添加到 docker 组中。

  3. 镜像源选择:根据网络环境选择合适的镜像源,以提高下载速度。

  4. 容器安全:在生产环境中,确保容器的安全性,避免使用默认的 root 用户运行容器。

一、Harbor 概述

1. 基本概念

  • Harbor是一个用于存储 Docker 镜像的企业级 Registry 服务,作为开源解决方案,它是对 Docker 官方镜像仓库(Registry)的高级封装。核心功能:构建企业级私有 Docker 镜像仓库,支持镜像的存储、管理、分发及权限控制。

2. 与 Registry 的关联

  • Registry是 Docker 官方提供的私有仓库镜像,支持本地镜像打标签后推送到以 Registry 运行的容器中,提升镜像拉取效率。Harbor 优势:在 Registry 基础上增加了图形化界面、权限管理、镜像复制、安全机制等企业级功能。

二、Harbor 核心组件解析

组件

功能描述

Proxy

基于 Nginx 的前端代理,代理 Registry、UI、Token 等服务,统一入口流量。

DB

存储用户权限、审计日志、镜像分组信息等数据,支持 MySQL/PostgreSQL。

UI

图形化界面,用于管理镜像、用户授权及搜索,提升操作便捷性。

Job Service

负责镜像复制任务(如跨 Registry 同步),与 Registry 通信并记录操作日志。

Admin Server

系统配置中心,管理存储用量、启动参数等,供 UI 和 Job Service 加载配置。

Registry

核心镜像存储仓库,负责存储镜像文件及分层数据。

Log

收集各组件日志,用于监控 Harbor 运行状态及故障分析。

三、Harbor vs. Registry:核心差异

功能维度

Harbor

Registry

用户界面

提供 WEB 界面,支持镜像搜索、权限管理等可视化操作。

无图形界面,仅通过命令行操作。

传输优化

支持分层传输(基于镜像层 UUID 识别差异),减少网络流量。

全量传输,效率较低。

安全机制

基于角色的访问控制(RBAC)、项目隔离、HTTPS 加密。

基础认证(用户名 / 密码),安全策略较简单。

集群扩展

支持水平扩展,缓解单节点访问压力。

原生不支持集群,需手动配置负载均衡。

多租户支持

通过项目(Project)与 Kubernetes Namespace 结合,实现多租户隔离。

无多租户管理功能。

四、Harbor 部署指南(以 CentOS 7 为例)

1. 环境准备

更换华为 YUM 源

mkdir /etc/yum.repos.d/old && mv /etc/yum.repos.d/* /etc/yum.repos.d/old/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo
yum makecache fast

安装依赖组件

yum install epel-release.noarch          # 扩展源
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce docker-compose     # 安装Docker及Compose
systemctl restart docker                 # 重启Docker服务

2. 下载与配置 Harbor

下载安装包

  • 离线安装:下载完整包(如harbor-offline-installer-v2.0.0.tgz),适合无外网环境。在线安装:下载轻量级包(如harbor-online-installer-v2.0.0.tgz),需联网拉取依赖。
tar -xvf harbor-online-installer-v2.0.0.tgz && cd harbor
cp harbor.yml.tmpl harbor.yml            # 复制配置模板

配置 HTTPS 证书(关键步骤)

1、生成 CA 证书及密钥:

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt # 按提示输入国家(CN)、地区(BJ)、组织(EAST)等信息,Common Name填域名(如master.com)

2、生成服务器证书签名请求(CSR):

openssl req -newkey rsa:4096 -nodes -sha256 -keyout master.com.key -out master.com.csr # Common Name需与访问域名一致(如master.com)

3、生成服务器证书:

openssl x509 -req -days 365 -in master.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out master.com.crt

4、配置 Harbor.yml:

hostname: master.com # 替换为实际域名或IP https: certificate: /etc/harbor/master.com.crt # 证书路径 private_key: /etc/harbor/master.com.key # 私钥路径

5、执行安装

cp -r harbor /etc/              # 将Harbor目录移至/etc/
cd /etc/harbor && ./install.sh  # 运行安装脚本

成功提示:

Harbor has been installed and started successfully.

4. 访问与验证

  • 访问地址:https://master.com/harbor(需配置本地 Hosts 解析或 DNS)。默认账号:admin,密码:Harbor12345。

5. Docker 客户端配置

  • 信任 CA 证书:
mkdir -p /etc/docker/certs.d/master.com cp ca.crt /etc/docker/certs.d/master.com/ca.crt # 将CA证书复制到Docker信任目录
  • 登录 Harbor:
docker login master.com -u admin -p Harbor12345
  • 推送镜像测试:
docker pull lanvv/centos7.5-yum # 拉取测试镜像
docker tag lanvv/centos7.5-yum master.com/library/centos7.5 # 打标签
docker push master.com/library/centos7.5 # 推送到Harbor

五、常见问题与解决

1. 镜像推送失败(HTTPS 验证问题)

  • 错误提示:x509: certificate signed by unknown authority解决方法:确保 CA 证书已正确复制到/etc/docker/certs.d/目录,并重启 Docker 服务。

2. 非安全 Registry 访问

  • 场景:临时使用 HTTP 访问(不推荐生产环境)。配置:修改 Docker 服务文件/lib/systemd/system/docker.service,添加参数:ExecStart=/usr/bin/dockerd --insecure-registry master.com 重启服务:systemctl daemon-reload && systemctl restart docker。

3. 网络代理问题

  • 国内加速:配置 Docker 镜像源(如网易镜像):
vim /etc/docker/daemon.json {
"registry-mirrors": ["https://hub-mirror.c.163.com"],
"insecure-registries": ["master.com"] # 若使用HTTP访问需添加
}

六、总结

Harbor 通过增强版的功能(如权限管理、WEB 界面、分层传输)成为企业级 Docker 镜像管理的首选方案。部署过程中需重点关注 HTTPS 证书配置、网络代理及权限策略,确保镜像仓库的安全性与可用性。结合 Kubernetes 的 Namespace 机制,可进一步实现多租户场景下的镜像资源隔离与高效管理。

推送镜像测试

http://www.dtcms.com/a/517526.html

相关文章:

  • 配置网站域名解析巧更妙改wordpress语言_wordpress英文变中文
  • 建设一个网站可以采用那几方案在线设计平台的消费者分析
  • pinia快速入门
  • 广州安全教育平台app下载seo外贸网站建设
  • thinkphp8 连接pgsql数据库,报错ERROR: function table_msg(unknown) does not exist
  • 做的比较好的二手交易网站有哪些揭阳网站建设antnw
  • 怎么在百度建立公司网站厦门外贸推广
  • 注册域名之后怎么做网站毕业答辩ppt模板免费下载网站
  • 自适应网站制作公司网站建设商务合同
  • 网站界面设计的发展趋势长春网站建设公司排名前十
  • 03-Machine-3-display_and_touch.py K230外接液晶显示屏与电容触摸屏功能演示
  • 固定在网站底部核酸检测收费
  • 非盈利网站建设问题北京朝阳区楼盘
  • 做淘宝客网站制作教程视频资金盘网站开发多少钱
  • JUC 之 Lock内部组件(队列同步器、阻塞与唤醒、Condition)
  • 知识就是力量——Tkinter与PyQt的区别和优缺点
  • 免费网站大全违法网站开发人员
  • 网页设计师常用网站禁止网站采集
  • 电子商务网站上线活动策划怎么免费搭建自己的网站
  • 一键提交网站中企动力做的网站被镜像
  • 做贺卡网站泰安房地产信息网官网
  • 企业网站制作 厦门wordpress自带小工具栏
  • Chrony的时间服务
  • Langchain之Agent代理的使用
  • 中国正规官方网站有哪些中国建筑设计研究院
  • wordpress建站后发布海尔网站建设不足之处
  • 黄岩做网站公司电话物联网的核心和基础是什么
  • 10-MySQL索引
  • 点餐网站模板 手机端网站设计有哪些创新点
  • 2.单智能体强化学习