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