首页 > 技术文章 > CentOS7.9 部署本地私有仓库 (Harbor)

yyx66 2022-04-21 11:14 原文

CentOS7.9 部署本地私有仓库 (Harbor)

 

主机环境
pw  4核8G  系统盘600GB*1  管理网卡:ens33 192.168.1.15   浮动IP网络:ens34  dhcp  

 

2.  系统版本
CentOS-7-x86_64-Minimal-2009.iso


3.  选择
最小化->英文->标准安装


4.  分区
/boot  1000M    其余/


5.  设置主机名
hostnamectl set-hostname pw

 

6.  安装常用软件包
yum  install vim wget net-tools yum-utils -y

 

7.  关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
firewall-cmd --state


8.  关闭selinux
sed -i '/^SELINUX=.*/c SELINUX=disabled' /etc/selinux/config
sed -i 's/^SELINUXTYPE=.*/SELINUXTYPE=disabled/g' /etc/selinux/config
grep --color=auto '^SELINUX' /etc/selinux/config
setenforce 0


9.  主机名:
echo "
192.168.1.15  pw.zixuanyun.com
">>/etc/hosts


10.  配置ssh
sed -i 's/#ClientAliveInterval 0/ClientAliveInterval 60/g' /etc/ssh/sshd_config
sed -i 's/#ClientAliveCountMax 3/ClientAliveCountMax 60/g' /etc/ssh/sshd_config
sed -i '/^#UseDNS/s/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
systemctl restart sshd && systemctl status sshd


11.  配置yum镜像仓库
yum-config-manager --add-repo
http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 

12.  安装epel
yum install epel-release -y
yum clean all && yum makecache fast

 

13.  安装基础软件包
yum install device-mapper-persistent-data lvm2  -y

14.  安装docker
yum list docker-ce --showduplicates|sort -r   #查询docker的版本
yum install docker-ce-19.03.8 -y  #安装指定版本


15.  配置加速
mkdir -p /etc/docker
tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["
https://3wk75oh9.mirror.aliyuncs.com"]
}
EOF


16.  启动docker服务
systemctl daemon-reload && systemctl enable docker && systemctl restart docker && systemctl status docker


17.  安装docker-compose服务
curl -L
https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose  #下载指定的安装包


18.  将下载后的文件放到 /usr/local/bin 目录下,并添加执行权限
chmod +x /usr/local/bin/docker-compose


19.  查看版本
docker-compose -version


20.  下载harbor软件包
wget
https://github.com/goharbor/harbor/releases/download/v2.4.1/harbor-offline-installer-v2.4.1.tgz


21.  解压到指定的目录
tar xvf harbor-offline-installer-v2.4.1.tgz  -C /home/ && cd /home/harbor/


22.  修改harbor.yml配置文件
mv harbor.yml.tmpl harbor.yml   #修改文件名

#查看修改
cat harbor.yml
.....
.....
# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
hostname: 盘位,zixuanyun.com  ##########修改域名

########### 关闭http访问方式
#http:         ##########该行注释掉
  # port for http, default is 80. If https enabled, this port will redirect to https port
  #port: 80   ##########改行注释掉

########### 打开https访问方式
# https related config
https:#########取消注释
#   # https port for harbor, default is 443
   port: 443  #########取消注释
#   # The path of cert and key files for nginx
   certificate: /home/harbor/certs/harbor.crt        #########取消注释,填写实际路径
   private_key: /home/harbor/certs/harbor.key        #########取消注释,填写实际路径

.....
.....
# Remember Change the admin password from UI after launching Harbor.
harbor_admin_password: admin123  ######### admin用户登入密码

# Harbor DB configuration
database:
  # The password for the root user of Harbor DB. Change this before any production use.
  password: root123       ######### 数据库密码

# The default data volume
data_volume: /home/harbor/data   #########目录自己创建,根据实际情况填写

如下图:

 

23.  创建存放数据目录
mkdir /home/harbor/data
mkdir -p /home/harbor/certs /home/harbor/data

 
24.  使用openssl创建自签证书并生成证书,并保存到 /home/harbor/certs 目录下
mkdir /home/harbor/certs
openssl req -newkey rsa:4096 -nodes -sha256 -keyout /home/harbor/certs/harbor.key -x509 -out /home/harbor/certs/harbor.crt -subj /C=CN/ST=BJ/L=BJ/O=DEVOPS/CN=pw.zixuanyun.com -days 3650


# 表达意思
req     产生证书签发申请命令
-newkey  生成新私钥
rsa:4096  生成秘钥位数
-nodes   表示私钥不加密
-sha256  使用SHA-2哈希算法
-keyout  将新创建的私钥写入的文件名
-x509   签发X.509格式证书命令。X.509是最通用的一种签名证书格式。
-out 指定要写入的输出文件名
-subj    指定用户信息
-days    有效期(3650表示十年)


25.  查看证书
ls /home/harbor/certs

如下:
harbor.crt  harbor.key

 

26.  启动harbor服务
./install.sh   #运行启动脚本

 

27.  添加本地域名解析访问  #目录位置C:\Windows\System32\drivers\etc\hosts  记事本打开 新增 192.168.1.15  pw.zixuanyun.com  的解析记录

 

28.   访问  #https://pw.zixuanyun.com/  或者 https://192.168.1.15:80     用户名  admin     密码    admin123

 

29.   创建用户

 

30.   创建项目 项目名 kolla

 

 

31.   添加访客

 

31.  添加仓库地址
vi /etc/docker/daemon.json
{
  "registry-mirrors": ["
https://3wk75oh9.mirror.aliyuncs.com"],
  "insecure-registries": ["
https://pw.zixuanyun.com"]
}

32.  重启docker服务
systemctl daemon-reload && systemctl restart docker && systemctl status docker

# 其他服务器登入镜像仓库,默认管理员用户名:admin    密码:admin123


# 登入地址
# 详细登入方式:docker login -u 用户 -p 密码 服务器IP:端口
docker login
https://pw.zixuanyun.com

输出如下:
# 默认管理员用户名:admin    密码:admin123
Username: admin
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded

如图:

 

33.  重启harbor服务
cd /home/harbor/
docker-compose stop
systemctl stop docker
systemctl daemon-reload
systemctl start docker
docker-compose start

如图

 

 

#方法1:

下载镜像到本地
docker pull kolla/centos-source-almanach-api:train

给镜像打tag标签
docker tag kolla/centos-source-almanach-api:train pw.zixuanyun.com/kolla/centos-source-almanach-api:train

推送镜像到harbor下的kolla项目目录下
docker login https://pw.zixuanyun.com admin admin123
docker push pw.zixuanyun.com/kolla/centos-source-almanach-api:train

 

推荐阅读