1. 程式人生 > 其它 >CentOS7.9 部署本地私有倉庫 (Harbor)

CentOS7.9 部署本地私有倉庫 (Harbor)

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