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

Harbor仓库部署

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

Harbor仓库部署

Harbor仓库部署 环境说明
IPhostnameOS用途
192.168.64.164harborcentos7.6harbor仓库服务器
192.168.64.163-centos7.6docker客户端
Harbor部署

执行脚本部署Harbor仓库

#!bin/bash
#centos7安装harbor仓库
#version: v1
#2022-06-10


pwd=`pwd`
ip=`ip a |grep -A 2 "[[:digit:]]:[[:space:]]e" |sed -n 's/^.*inet //p'|awk -F '[ /]+' '{ print $1 }'`
hostname=harbor
domain=harbor.local

#修改hostname
hostnamectl set-hostname --static $hostname
echo "$ip $domain $hostname" >> /etc/hosts

#更换阿里云yum源
yum install -y wget curl
mv /etc/yum.repos.d /etc/yum.repos.bak
mkdir /etc/yum.repos.d
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all

#安装docker、doceker-compose
yum install -y docker-ce docker-compose
systemctl enable docker && systemctl start docker

#下载解压harbor
wget --no-check-certificate https://github.com/goharbor/harbor/releases/download/v2.5.1/harbor-offline-installer-v2.5.1.tgz
tar -zxf harbor-offline-installer-v2.5.1.tgz -C /opt

#创建CA证书目录
mkdir /opt/harbor/ca
cd /opt/harbor/ca
#生成秘钥和自签名证书
openssl req -newkey rsa:4096 -nodes -sha512 -keyout ca.key -x509 -days 3650 -subj "/CN=$domain" -out ca.crt
#生成证书签名请求
openssl req -newkey rsa:4096 -nodes -sha512 -keyout server.key -subj "/CN=$domain" -out server.csr
#生成服务器证书
openssl x509 -req -days 3650 -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt
#查看证书到期时间
#openssl x509 -in  server.crt -noout -text |head -n 15

#将CA文件复制到Docker证书目录中,需要先创建目录
mkdir -p /etc/docker/certs.d/$domain
cp ca.crt /etc/docker/certs.d/$domain/

#修改harbor.yml
cp /opt/harbor/harbor.yml.tmpl /opt/harbor/harbor.yml
sed -i "s/hostname: reg.mydomain.com/hostname: $domain/g" /opt/harbor/harbor.yml
sed -i "s#/your/certificate/path#/opt/harbor/ca/server.crt#" /opt/harbor/harbor.yml
sed -i "s#/your/private/key/path#/opt/harbor/ca/server.key#" /opt/harbor/harbor.yml

#修改etc/docker/daemon.json
cat << EOF >/etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"],
"insecure-registries": ["$domain"]
}
EOF

#重启docker服务
systemctl restart docker

#开始安装harbor
sh /opt/harbor/install.sh

#放行firewall端口
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --permanent --zone=public --add-port=443/tcp
firewall-cmd --reload
firewall-cmd --zone=public --list-all

#下载公共镜像测试
docker pull alpine:latest

#上传镜像测试,默认用户密码在harbor.yml中
docker login -u admin -p Harbor12345 $domain
docker tag alpine:latest $domain/library/alpine:latest
docker push $domain/library/alpine:latest

#将harbor添加为服务并设置开机自启动
cat << EOF >/usr/lib/systemd/system/harbor.service
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/docker-compose -f /opt/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker-compose -f /opt/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target
EOF
systemctl enable harbor && systemctl start harbor

查看docker容器状态

docker ps


查看镜像

docker images


Harbor仓库镜像默认的存放目录

ls /data/registry/docker/registry/v2/repositories/library/

web访问测试

https://192.168.64.164
访问80端口时会自动跳转至443端口

docker客户端访问测试
#安装docker
yum install -y wget curl
mv /etc/yum.repos.d /etc/yum.repos.bak
mkdir /etc/yum.repos.d
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum clean all
yum install -y docker-ce
#修改etc/docker/daemon.json,添加harbor仓库地址
mkdir -p /etc/docker/
cat << EOF >/etc/docker/daemon.json
{
"insecure-registries": ["harbor.local"]
}
EOF
#开启docker服务
systemctl enable docker && systemctl start docker
#添加harbor服务器的hostname
echo "192.168.64.164 harbor.local" >> /etc/hosts

#登录harbor
docker login -u admin -p Harbor12345 harbor.local
#拉取镜像
docker pull harbor.local/library/alpine:latest
#重新打标签
docker tag harbor.local/library/alpine:latest harbor.local/library/alpine:v1.0
docker images
#上传镜像
docker push harbor.local/library/alpine:v1.0


web访问查看

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

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

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