栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

CentOS7搭建私有化Docker仓库Harbor

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CentOS7搭建私有化Docker仓库Harbor

CentOS7搭建私有化Docker仓库Harbor
  • CentOS7搭建私有化Docker仓库Harbor
    • Docker仓库Harbor下载
    • 配置要求
      • 硬件配置要求
      • 软件配置要求
      • 端口要求
    • 安装依赖软件
      • 安装Docker
      • 安装Docker Compose
      • 暴露要求的端口
        • 关闭防火墙(生产环境不推荐)
        • 暴露端口方式(推荐)
      • 安装openSSL
    • 开始安装 harbor
      • 解压安装包
      • 安装前的配置
        • 配置服务器的主机名
        • 配置https访问
        • 配置超级管理员初始密码
      • 开始安装
      • 配置docker的配置文件(如果是自签名的证书则需要这一步)
    • 使用 harbor
      • 初始化应用程序
      • 推送一个镜像到 Harbor
        • 新建一个项目
        • 推送镜像
        • 拉取镜像

CentOS7搭建私有化Docker仓库Harbor Docker仓库Harbor下载

下载地址:https://github.com/goharbor/harbor/releases/download/v2.5.0/harbor-offline-installer-v2.5.0.tgz

因为github国内下载太慢,如有需要可以私信我拿取下载好的安装包

配置要求 硬件配置要求

目前我的机器配置是:2核CPU、4G内存、50G硬盘

官网配置要求是:

软件配置要求

端口要求

安装依赖软件

根据软件配置要求安装对应软件

安装Docker

可参考博客:https://blog.csdn.net/m0_51510236/article/details/115054073

快速安装docker的脚本:

#!/bin/bash
sudo yum remove docker 
                  docker-client 
                  docker-client-latest 
                  docker-common 
                  docker-latest 
                  docker-latest-logrotate 
                  docker-logrotate 
                  docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager 
    --add-repo 
    https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
安装Docker Compose

Docker Compose 下载地址:https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64

大概安装步骤的脚本如下:

#!/bin/bash

# make directory and access folder
mkdir -p /opt/server/docker-compose
cd /opt/server/docker-compose

# download docker-compose package
wget https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64

# mkdir executable role to docker-compose
chmod +x docker-compose-linux-x86_64

# make link to /usr/bin
ln /opt/server/docker-compose/docker-compose-linux-x86_64 /usr/bin/docker-compose
暴露要求的端口 关闭防火墙(生产环境不推荐)
systemctl stop firewalld
systemctl disable firewalld
暴露端口方式(推荐)
# 暴露端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=4443/tcp --permanent

# 使暴露的端口生效
firewall-cmd --reload

输入命令 firewall-cmd --list-ports 查看端口是否暴露成功:

安装openSSL

使用命令安装即可:

yum install -y openssl
开始安装 harbor 解压安装包

使用以下命令解压

tar -zxvf harbor-offline-installer-v2.5.0.tgz -C /opt/server/

解压完成之后我们可以来到 /opt/server/harbor 目录下查看解压后的文件

安装前的配置

将 harbor.yml.tmpl 文件复制一份名为 harbor.yml :

cp harbor.yml.tmpl harbor.yml

使用 vi harbor.yml 可以编辑这个配置文件

配置服务器的主机名

在配置文件的第五行可以看到一个 hostname 的配置项,这个配置项后面可以改成 IP地址 或者是 域名,我这里先解析一个域名(服务提供商为阿里云,其他的服务提供商也不受限制):

或者你们可以更改电脑上的hosts配置文件解析域名,hosts配置文件的路径:

  • Windows: C:WindowsSystem32driversetchosts
  • Linux:/etc/hosts

配置如下:

# 前面是服务器的IP地址,后面是域名
192.168.0.133 harbor.example.com

因为我是直接解析的域名,所以我这里就直接填写我的域名即可:

配置https访问

如果不需要https访问可以将下面这几行代码注释掉:

如果你确定不需要可以跳过接下来配置https的步骤,如需要,那么上一步你必须是自己的域名,并且需要申请一个ssl证书(免费版本即可)(服务提供商为阿里云,其他的服务提供商也不受限制):

注意是下载nginx证书:

创建 /opt/server/harbor/ssl 文件夹(可以根据自己的喜好更改),并将ssl证书复制到这个文件夹当中(文件名经过更改):

然后回到更改 harbor.yml 配置文件,需要配置域名证书的路径:

配置超级管理员初始密码

可以在 harbor.yml 配置文件的 harbor_admin_password 配置项当中查看超级管理员 admin 账号初始密码:

开始安装

我们可以在解压的更目录查看到一个 insall.sh 文件,我们直接运行它:

开始运行:

看到这里就代表 harbor 安装完成了:

配置docker的配置文件(如果是自签名的证书则需要这一步)

需要运行一下命令来向docker声明一下本机的docker地址(注意替换掉您的IP或者是域名):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "insecure-registries" : ["您的IP地址或者是域名", "0.0.0.0"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
使用 harbor 初始化应用程序

访问harbor服务器的地址,这是你的IP地址或者是你们自己配置的域名,访问登录页面,然后输入你的用户名和密码:

然后点击登录来到首页,点击右上角的admin用户名下的修改密码,将密码修改掉:

修改默认密码:

推送一个镜像到 Harbor

推送镜像之前我们先需要创建一个项目

新建一个项目

点击新建项目 ->输入项目名称->确定,即可将项目创建完毕:

推送镜像

我们点击项目的推送命令,可以看到一串重要的提示:

目前演示就用一个比较简单的公共的nginx镜像来演示了,首先我们在一台装有docker的机器上,下拉一个镜像:

docker pull nginx:1.21.6

下拉的结果:

根据 harbor 的命令提示打一个 tag 标签:

docker tag nginx:1.21.6 harbor.greateme.com/test-project/nginx:1.21.6

打tag的结果:

我们需要登录到harbor服务器,使用如下命令:

docker login --username=admin 您的IP地址或域名

并且记得输入密码:

看到 Login Succeeded 则代表登录成功,我们使用harbor提示的命令推送镜像:

docker push harbor.greateme.com/test-project/nginx:1.21.6

可以看到推送成功:

在Web控制台上也可以看到我们推送的镜像:

拉取镜像

如果是不同的机器我们还是需要登录,步骤和之前上面说的登录步骤一样,然后我们可以在仓库的web界面看到拉取命令的提示,可以点击下面的复制图标复制拉取镜像的命令:

拉取密码我们最好将 @ 后面的一长串改为镜像的 :tag:

docker pull harbor.greateme.com/test-project/nginx@sha256:25dedae0aceb6b4fe5837a0acbacc6580453717f126a095aa05a3c6fcea14dd4
# 替换成:
docker pull harbor.greateme.com/test-project/nginx:1.21.6

查看拉取结果:

我们可以看到拉取成功,Harbor的安装和使用就讲到这了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/945955.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号