博客
关于我
Docker(七)Harbor私有仓库搭建
阅读量:375 次
发布时间:2019-03-05

本文共 2514 字,大约阅读时间需要 8 分钟。

Harbor私有镜像仓库搭建指南

1. 引言

在 Docker 容器化应用的开发和运行过程中,镜像管理是至关重要的一环。尽管 Docker 官方提供了公共镜像仓库,但从安全性和效率等方面考虑,搭建私有镜像仓库是非常必要的。Harbor 是 VMware 公司开源的企业级 Docker Registry 管理项目,具备权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制以及中文支持等多项功能。

此外,docker-compose 是一个强大的编排工具,能够轻松管理多个服务的启动顺序和优先级。


2. 发布环境架构

Harbor 私有镜像仓库的架构主要由以下几个关键组件构成:

  • Proxy(Nginx):作为反向代理,负责流量转发和安全验证。
  • Registry:基于 Docker 官方镜像构建的容器实例,用于存储镜像。
  • UI:Harbor 项目的核心服务组件,负责前端页面和后端接口。
  • MySQL:用于存储系统数据,基于官方 MySQL 镜像构建。
  • Log:运行 rsyslogd 容器,负责日志收集和管理。

这些服务需要根据优先级进行排列和配置。


3. Docker Compose 安装

安装 Docker Compose 可以通过以下命令实现:

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

4. 版本查看

可以通过以下命令查看 Docker Compose 的版本:

docker-compose --version

5. 安装 Harbor 镜像

Harbor 提供了离线安装包,下载并解压后可以通过以下命令加载镜像:

docker load -i harbor.v1.8.0.tar.gz

6. 安装步骤说明

6.1 生成 SSL 证书

  • 创建 CA 密钥对:
  • openssl req -x509 -new -nodes -sha512 -days 3650 \  -subj "/C=CN/ST=wzj/L=wzj/O=example/OU=Personal/CN=wzj.com" \  -key ca.key -out ca.crt
    1. 生成服务器端密钥对:
    2. openssl genrsa -out reg.wzj.com.key 4096
      1. 生成服务器端证书:
      2. openssl req -sha512 -new \  -subj "/C=CN/ST=wzj/L=wzj/O=example/OU=Personal/CN=reg.wzj.com" \  -key reg.wzj.com.key -out reg.wzj.com.csr
        1. 创建扩展文件:
        2. vim v3.ext
          1. 使用扩展文件生成服务器端证书:
          2. openssl x509 -req -sha512 -days 3650 \  -extfile v3.ext \  -CA ca.crt -CAkey ca.key -CAcreateserial \  -in reg.wzj.com.csr -out reg.wzj.com.crt

            6.2 安装证书

            将证书和私钥复制到 /root/cert 目录,并配置 harbor.yml 文件:

            mkdir /root/certcp reg.wzj.com.crt reg.wzj.com.key /root/cert/

            6.3 配置 harbor.yml

            编辑 harbor.yml 文件,确保配置正确无误:

            version: '3'services:  - name: proxy    image: nginx:latest    ports:      - "443:443"    volumes:      - ./harbor.yml:/etc/harbor/harbor.yml    restart: always  # 其他服务配置...

            6.4 加载镜像并启动服务

          3. 加载镜像:
          4. docker load -i harbor.v1.8.0.tar.gz
            1. 执行准备脚本:
            2. ./prepare
              1. 执行安装脚本:
              2. ./install.sh

                7. 后台启动

                为了实现服务的自动启动,可以通过以下命令执行:

                docker-compose downdocker-compose up -d

                8. 常见问题

                8.1 yml 文件格式错误

                如果在解析 yml 文件时出现以下错误:

                org.yaml.snakeyaml.parser.ParserException: while parsing a block mapping

                可能是由于 yml 文件格式不正确导致的,确保文件中没有多个空格或其他格式问题。

                8.2 Docker 登录问题

                在命令行中登录私有仓库时可能会遇到以下问题:

                docker login reg.wzj.com

                请确保持有相应的 CA 证书,并且配置正确。


                9. 注意事项

                • 配置文件中的域名必须正确解析,确保通过 HTTPS 访问。

                • harbor.yml 文件的修改需要重新启动服务,可以通过以下命令实现:

                  docker-compose downdocker-compose up -d

                10. Harbor 组件说明

                Harbor 的主要组件包括:

                • Nginx:负责反向代理和 HTTPS 加密。
                • harbor-ui:提供镜像仓库的管理界面。
                • harbor-adminserver:用于系统配置和管理接口。
                • harbor-db:存储系统数据和权限信息。
                • harbor-log:统一管理和收集日志。

                这些组件通过 Docker link 的形式连接在一起,实现高效的服务访问和管理。


                通过以上步骤,可以成功搭建一个高效、安全的私有 Docker 镜像仓库。

    转载地址:http://epzwz.baihongyu.com/

    你可能感兴趣的文章
    Nginx Location配置总结
    查看>>
    Nginx log文件写入失败?log文件权限设置问题
    查看>>
    Nginx Lua install
    查看>>
    nginx net::ERR_ABORTED 403 (Forbidden)
    查看>>
    Nginx SSL私有证书自签,且反代80端口
    查看>>
    Nginx upstream性能优化
    查看>>
    Nginx 中解决跨域问题
    查看>>
    nginx 代理解决跨域
    查看>>
    Nginx 动静分离与负载均衡的实现
    查看>>
    Nginx 反向代理 MinIO 及 ruoyi-vue-pro 配置 MinIO 详解
    查看>>
    nginx 反向代理 转发请求时,有时好有时没反应,产生原因及解决
    查看>>
    Nginx 反向代理解决跨域问题
    查看>>
    Nginx 反向代理配置去除前缀
    查看>>
    nginx 后端获取真实ip
    查看>>
    Nginx 多端口配置和访问异常问题的排查与优化
    查看>>
    Nginx 如何代理转发传递真实 ip 地址?
    查看>>
    Nginx 学习总结(16)—— 动静分离、压缩、缓存、黑白名单、性能等内容温习
    查看>>
    Nginx 学习总结(17)—— 8 个免费开源 Nginx 管理系统,轻松管理 Nginx 站点配置
    查看>>
    Nginx 学习(一):Nginx 下载和启动
    查看>>
    nginx 常用指令配置总结
    查看>>