CentOS 搭建 Harbor 镜像仓库(图文详解)

说明:在搭建 Harbor 镜像仓库之前,虚拟机要先安装 docker 和 docker-compose。

本文接下来的命令都是在 root 身份下运行的。

1. 下载 Harbor 安装包

  • 直接下载可以使用以下命令:
    wget https: /github.com/goharbor/harbor/releases/download/v2.8.2/harbor-offline-installer-v2.8.2.tgz
    
    直接在虚拟机内部执行上面这条命令的话,下载速度会很慢,所以此处通过外部主机下载后共享文件夹导入虚拟机中。

2. 解压

  • 输入以下命令进行解压:
    tar -xvf harbor-offline-installer-v2.8.2.tgz
    

在这里插入图片描述

  • 新建一个目录,将 harbor 目录下的文件移动到该目录下。依次输入以下命令:

    mkdir /opt/harbor
    mv harbor/* /opt/harbor
    cd /opt/harbor
    

在这里插入图片描述

3. 修改配置文件

  • 复制一份 harbor 的配置文件并改名 harbor.yml,输入以下命令:

    cp -ar harbor.yml.tmpl harbor.yml
    
  • 进入配置文件,输入以下命令:

    vim harbor.yml
    

在这里插入图片描述

  • 修改 hostnameport

    hostname: 192.168.138.130 # 这里改为虚拟机的 IP
    port: 85 # 开放端口
    # 注释 https 相关部分,从13行开始
    

在这里插入图片描述

4. 安装 Harbor

  • 编辑完配置文件,接下来在 harbor 目录下安装 Harbor。

  • Harbor 安装环境预处理,输入以下命令:

    ./prepare
    

在这里插入图片描述

  • 安装并启动 Harbor,输入以下命令:

    ./install.sh
    

在这里插入图片描述

如上图所示,安装并启动成功!

  • 检查是否安装成功(应该是启动9个容器)。输入以下命令:

    docker-compose ps
    

在这里插入图片描述

5. 修改 docker 配置

  • 进入配置文件,输入以下命令:

    vim /etc/docker/daemon.json
    
  • 在配置文件中添加以下内容(添加阿里云镜像下载地址):

    {
    "registry-mirrors": ["https://ov31ob13.mirror.aliyuncs.com"]
    }
    
  • 重启 docker 和 harbor 容器,依次输入以下命令:

    systemctl restart docker
    docker-compose stop
    docker-compose up -d
    

在这里插入图片描述

6. docker 登录方式

  • 输入以下命令进行登录:

    docker login 192.168.138.130:85
    

    然后输入用户名(admin)和密码(Harbor12345)。

  • 或者直接输入下面这条命令登录即可:

    docker login -u admin -p Harbor12345 192.168.138.130:85
    

7. 访问 Harbor Web 界面

  • 在浏览器输入以下地址:

    http://192.168.138.130:85
    
  • 输入用户名和密码,用户名和密码均为默认值:

    用户名:admin
    密码:Harbor12345
    

在这里插入图片描述

至此,CentOS7 搭建 Harbor(http)镜像仓库完成!

接下来在上面操作的基础上搭建 Harbor(https)镜像仓库。

8. 创建证书

  • 在工作目录下创建证书存放目录,依次输入以下命令:

    mkdir ssl
    cd ssl
    

    配置 Harbor 通过 https 访问时均在新建的 ssl 目录下进行操作。

在这里插入图片描述

  • ssl 目录下输入以下命令:

    openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 3650 -out ca.crt
    

    注:输入该命令后,一路回车5次直至出现 Common Name 输入(因为是 CA,可不输入 IP 或域名):Harbor Cert Root CA Harbor,为自定义名称。

下面是对该命令的解释:这个命令用于使用 OpenSSL 生成自签名的根证书(Root Certificate)。

  • openssl:表示要使用 OpenSSL 命令。
  • req:表示生成证书签署请求(Certificate Signing Request)。
  • -newkey rsa:4096:指定生成一个新的 RSA 私钥,并且密钥长度为 4096 位。
  • -nodes:指定生成私钥时不进行加密,以便后续在没有密码的情况下使用该私钥。
  • -sha256:使用 SHA256 算法生成证书的摘要。
  • -keyout ca.key:指定将生成的私钥保存为 ca.key 文件。
  • -x509:生成自签名的根证书。
  • -days 3650:指定生成的根证书的有效期为 3650 天(10年)。
  • -out ca.crt:指定将生成的根证书保存为 ca.crt 文件。

执行这个命令后,将获得一个名为 ca.key 的私钥文件和一个名为 ca.crt 的自签名根证书文件。这个根证书可以用于签署其他证书,以建立自己的证书颁发机构(CA)来签发更多的证书。

9. 生成证书

  • 生成证书签名请求。在 ssl 目录下输入以下命令:

    openssl req -newkey rsa:4096 -nodes -sha256 -keyout harbor.key -out harbor.csr
    

    注:输入该命令后,一路回车5次出现 Common Name 输入 IP 或域名,此处为:192.168.138.130。

在这里插入图片描述

如上图所示,下面是可能会遇到的交互提示及其相应的解释:

  • Country Name (2 letter code) [XX]::输入您所在国家的两个字母的国家代码,例如中国为 “CN”、美国为 “US”。
  • State or Province Name (full name) []::输入您所在的省份或州的全名。
  • Locality Name (eg, city) [Default City]::输入您所在的城市名称。
  • Organization Name (eg, company) [Default Company Ltd]::输入您的组织或公司的名称。
  • Organizational Unit Name (eg, section) []::输入您的组织或公司的部门名称,可留空。
  • Common Name (eg, your name or your server's hostname) []::输入您或您的服务器的主机名。如果您正在生成证书签署请求,可以使用一个描述性的名称,或者使用您的服务器的域名(如果有)。
  • Email Address []::输入与证书相关的电子邮件地址,可留空。
  • A challenge password []::留空,直接按回车键继续。
  • An optional company name []::可留空,直接按回车键继续。
  • 新建文件,在 ssl 目录下输入以下命令:

    touch extfile.cnf
    
  • 进入文件,输入以下命令:

    vim extfile.cnf
    
  • 进入该文件后添加以下内容:

    subjectAltName = @alt_names
    extendedKeyUsage = serverAuth
    [alt_names]
    # 域名,如有多个用DNS.2,DNS.3…来增加
    DNS.1 = xxx.harbor.cn
    DNS.2 = *.harbor.cn
    # IP地址, 服务器的ip
    IP.1 = 192.168.138.130
    IP.2 = 127.0.0.1
    
  • ssl 目录下输入以下命令:

    openssl x509 -req -days 3650 -in harbor.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out harbor.crt
    

在这里插入图片描述

10. 更新配置

  • 查看 harbor.crtharbor.key 文件所在的路径,配置文件时需要用。

在这里插入图片描述

  • 编辑 harbor.yml 文件,修改该文件时需要注意缩进。修改内容如下:

    cd harbor
    vim harbor.yml
    

在这里插入图片描述

  • harbor 目录下执行命令更新配置,使 yml 配置文件生效。依次输入以下命令:

    ./prepare
    ./install.sh
    

11. 网页登录

  • 在登录前关闭虚拟机防火墙(或者防火墙在开启状态下允许444端口)。登录地址如下:

    https://192.168.138.130:444
    

在这里插入图片描述

  • 用户名和密码不变,还是和前面 Harbor(http)一致。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 CentOS搭建 PyPI 镜像,您可以按照以下步骤进行操作: 1. 安装并配置 Nginx 服务器 在 CentOS 上安装 Nginx: ``` sudo yum install nginx ``` 配置 Nginx 服务器,将其作为 PyPI 镜像的代理服务器。在 Nginx 的配置文件 `/etc/nginx/nginx.conf` 中添加以下内容: ``` server { listen 80; server_name pypi.example.com; access_log /var/log/nginx/pypi.access.log; error_log /var/log/nginx/pypi.error.log; location / { proxy_pass http://pypi.python.org; proxy_set_header Host pypi.python.org; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } ``` 注意将 `pypi.example.com` 替换为您的 PyPI 镜像域名。 2. 安装并配置 devpi-server devpi-server 是一个 PyPI 服务器,您可以使用它来创建本地 PyPI 镜像。在 CentOS 上安装 devpi-server: ``` sudo yum install python3-pip sudo pip3 install -U devpi-server ``` 创建一个 devpi-server 实例: ``` devpi-server --start --host=127.0.0.1 --port=3141 ``` 您可以使用 `--port` 参数指定 devpi-server 实例的端口号。 3. 配置 pip 在您的 CentOS 机器上,打开 `~/.pip/pip.conf` 文件,如果没有该文件则创建它,添加以下内容: ``` [global] index-url = http://pypi.example.com/simple/ trusted-host = pypi.example.com ``` 注意将 `pypi.example.com` 替换为您的 PyPI 镜像域名。现在,当您使用 pip 安装 Python 包时,它将从您的本地 PyPI 镜像获取软件包。 希望这些步骤可以帮助您在 CentOS搭建 PyPI 镜像

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值