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硬盘

官网配置要求是:
CentOS7搭建私有化Docker仓库Harbor_第1张图片

软件配置要求

CentOS7搭建私有化Docker仓库Harbor_第2张图片

端口要求

CentOS7搭建私有化Docker仓库Harbor_第3张图片

安装依赖软件

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

安装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 目录下查看解压后的文件
CentOS7搭建私有化Docker仓库Harbor_第4张图片

安装前的配置

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

cp harbor.yml.tmpl harbor.yml

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

配置服务器的主机名

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

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

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • Linux:/etc/hosts

配置如下:

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

因为我是直接解析的域名,所以我这里就直接填写我的域名即可:
CentOS7搭建私有化Docker仓库Harbor_第5张图片

配置https访问

如果不需要https访问可以将下面这几行代码注释掉:
CentOS7搭建私有化Docker仓库Harbor_第6张图片

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

注意是下载nginx证书:
CentOS7搭建私有化Docker仓库Harbor_第8张图片

创建 /opt/server/harbor/ssl 文件夹(可以根据自己的喜好更改),并将ssl证书复制到这个文件夹当中(文件名经过更改):
CentOS7搭建私有化Docker仓库Harbor_第9张图片

然后回到更改 harbor.yml 配置文件,需要配置域名证书的路径:
CentOS7搭建私有化Docker仓库Harbor_第10张图片

配置超级管理员初始密码

可以在 harbor.yml 配置文件的 harbor_admin_password 配置项当中查看超级管理员 admin 账号初始密码:
在这里插入图片描述

开始安装

我们可以在解压的更目录查看到一个 insall.sh 文件,我们直接运行它:
CentOS7搭建私有化Docker仓库Harbor_第11张图片

开始运行:
CentOS7搭建私有化Docker仓库Harbor_第12张图片

看到这里就代表 harbor 安装完成了:
CentOS7搭建私有化Docker仓库Harbor_第13张图片

配置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地址或者是你们自己配置的域名,访问登录页面,然后输入你的用户名和密码:
CentOS7搭建私有化Docker仓库Harbor_第14张图片

然后点击登录来到首页,点击右上角的admin用户名下的修改密码,将密码修改掉:
CentOS7搭建私有化Docker仓库Harbor_第15张图片

修改默认密码:
CentOS7搭建私有化Docker仓库Harbor_第16张图片

推送一个镜像到 Harbor

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

新建一个项目

点击新建项目 ->输入项目名称->确定,即可将项目创建完毕:
CentOS7搭建私有化Docker仓库Harbor_第17张图片

推送镜像

CentOS7搭建私有化Docker仓库Harbor_第18张图片

我们点击项目的推送命令,可以看到一串重要的提示:
CentOS7搭建私有化Docker仓库Harbor_第19张图片

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

docker pull nginx:1.21.6

下拉的结果:
CentOS7搭建私有化Docker仓库Harbor_第20张图片

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

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

打tag的结果:
在这里插入图片描述

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

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

并且记得输入密码:
CentOS7搭建私有化Docker仓库Harbor_第21张图片

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

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

可以看到推送成功:
CentOS7搭建私有化Docker仓库Harbor_第22张图片

在Web控制台上也可以看到我们推送的镜像:
CentOS7搭建私有化Docker仓库Harbor_第23张图片

拉取镜像

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

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

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

查看拉取结果:
CentOS7搭建私有化Docker仓库Harbor_第25张图片

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

你可能感兴趣的:(linux,软件安装,docker,容器,linux)