CentOS 8.3 伺服器部署手冊
一、 配置raid:
伺服器第一次開機F10進入HP內建維護工具,找到維護Raid,選擇磁碟和raid模式,應用,重啟生效。
二、 配置iLO埠:
啟動系統時F9進入BIOS配置,選擇iLO5配置,IP地址改成手動,配置好IP後重啟系統,可在開機引導畫面左下角看到修改生效。
三、 USB引導,安裝燒錄好的centos8映象:
官網下載centos映象,rufus直接燒錄進U盤即可。
四、 配置網絡卡網路:
vim /etc/sysconfig/network-scripts/ifcfg-eth0 # 網絡卡配置檔案一般為ifcfg-xxxxxx
TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=static DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=eth0 UUID=7a752861-020f-427c-bc29-fd8f1eeb80bc DEVICE=eth0 ONBOOT=yes IPADDR=192.168.8.111 PREFIX=24 GATEWAY=192.168.8.1 DNS1=114.114.114.114 |
nmcli c reload #重啟網路(service network restart #centos7用此命令)
ip addr #檢視網路狀態
五、 配置sshd,修改22埠為8338:
rpm -qa | grep ssh #檢視SSH是否安裝(已經安裝直接跳第三步)
yum install openssh* #安裝SSH,選項按Y
systemctl enable sshd #把sshd註冊成服務
配置sshd_config檔案如下(需修改以下3段配置部分) |
vim /etc/ssh/sshd_config |
Port 8338 #預設為22,需修改,記得開通防火牆埠 ListenAddress 192.168.8.111 PermitRootLogin yes PasswordAuthentication yes #新增允許遠端SSH登陸的使用者名稱,中間用空格隔開(需reboot) AllowUsers root baiinfo zhaolong #sftp使用者也需要新增在此處 |
firewall-cmd --zone=public --add-port=6463/tcp --permanent #開放6463埠
systemctl restart sshd #重啟sshd服務
netstat -nlpt #檢查修改後的sshd服務埠是否成功
SSHD無法啟動時,請按如下操作修改SELinux埠:
sestatus -v |grep SELinux #檢查SELinux是否啟用
rpm -qa |grep policycoreutils-python #檢查semanage是否安裝,未安裝請先執行“yum install policycoreutils-python”
semanage port -l |grep ssh #檢視當前selinux允許的埠
semanage port -a -t ssh_port_t -p tcp 8338 #新增新埠
semanage port -l |grep ssh #檢查是否新增成功
systemctl restart sshd #重啟SSH服務
六、 防火牆firewall-cmd的常用配置:
1、firewall-cmd控制埠:
firewall-cmd --zone=public --add-port=6379/tcp --permanent #開放6379埠
firewall-cmd --zone=public --remove-port=6379/tcp --permanet #刪除6379
firewall-cmd --reload #配置立即生效
firewall-cmd --zone=public --list-ports #檢視當前防火牆開放的埠
systemctl stop firewalld.service #關閉防火牆
firewall-cmd --state #檢視防火牆狀態
netstat -lnpt #檢視埠開放狀態
2、firewall-cmd控制來源IP訪問請求:
firewall-cmd --state #檢視防火牆狀態
yum install firewalld #安裝
systemctl start firewalld #啟動
systemctl enable firewalld #設定開機啟動
systemctl stop firewalld #關閉
systemctl disable firewalld #取消開機啟動
firewall-cmd --list-all #檢視防火牆規則(只顯示/etc/firewalld/zones/public.xml中防火牆策略)
firewall-cmd --list-all-zones #檢視所有的防火牆策略(即顯示/etc/firewalld/zones/下的所有策略)
firewall-cmd --reload #重新載入配置檔案
#禁止IP(123.56.161.140)訪問本機所有服務
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="123.56.161.140" drop'
#從防火牆中刪除策略: 禁止機器IP(123.56.161.140)訪問本機所有服務
firewall-cmd --permanent --remove-rich-rule='rule family=ipv4 source address="123.56.161.140" drop'
#禁止一個B類IP段地址訪問本機,比如禁止123.56.*.*
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="123.56.0.0/16" drop'
#禁止一個C類IP段地址訪問本機,比如禁止123.56.161.*
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address="123.56.161.0/24" drop'
#允許http服務(對應服務策略目錄:/usr/lib/firewalld/services/)
firewall-cmd --permanent --add-service=http
#關閉http服務(對應服務策略目錄:/usr/lib/firewalld/services/)
firewall-cmd --permanent --remove-service=http
#允許埠:3389
firewall-cmd --permanent --add-port=3389/tcp
#關閉放行中埠:3389
firewall-cmd --permanent --remove-port=3389/tcp
#允許埠:1-3389
firewall-cmd --permanent --add-port=1-3389/tcp
#更改配置後一定要重新載入配置檔案:
firewall-cmd --reload
七、 配置sftp,登陸埠同ssh修改後的埠:
1、建立sftp服務資料目錄及相關使用者
mkdir -pv /data/sftp/ #sftp資料目錄 chown root:root -R /data/sftp/ #一定要是root使用者,否則無法chroot chmod 755 -R /data/sftp/ #許可權最低需要保證普通使用者可以進入 groupadd sftp #sftp服務設定匹配組,單個使用者可以忽略 useradd -d /data/sftp/baiinfosftp -m -g sftp -s /sbin/nologin baiinfosftp #使用者 id baiinfosftp #切入使用者 echo "1+1=2?Yes"|passwd --stdin baiinfosftp #新增密碼 |
2、修改sshd服務配置檔案,以組的方式管理sftp使用者許可權
vi /etc/ssh/sshd_config #修改sftp配置檔案,修改內容如下: |
登出: #Subsystem sftp /usr/libexec/openssh/sftp-server 新增: Subsystem sftp internal-sftp #使用sftp服務使用系統自帶的internal-sftp Match Group sftp #匹配sftp組,多個組之間用逗號分割 ChrootDirectory /data/sftp/%u #用chroot將使用者的根目錄指定到/data/sftp/%u,%u代表使用者名稱,這樣使用者就只能在/data/sftp/%u下活動 ForceCommand internal-sftp #強制執行內部sftp,並忽略任何~/.ssh/rc檔案中的命令 AllowTcpForwarding no #不允許轉發TCP協議,預設是yes,如果使用者可以shell訪問則建議為yes X11Forwarding no #是否允許進行 X11 轉發。預設值是"no",設為"yes"表示允許。 AllowUsers baiinfosftp #需要在這裡加入允許sftp使用者遠端連線 |
:wq #儲存退出 |
3、重啟服務
systemctl restart sshd #重啟sftp服務 |
4、配置客戶端連線目錄許可權
cd /data/sftp/ #切換到sftp目錄 chown root:root baiinfosftp #原則使用者目錄以上的所有目錄只歸root所有 chmod 755 baiinfosftp/ #給SFTP使用者baiinfosftp賦許可權 cd baiinfosftp/ #進入使用者目錄, 建立upload mkdir upload chown baiinfosftp:sftp upload/ #指定upload訪問許可權歸baiinfosftp使用者 |
八、 修改ntp時鐘伺服器:
vim /etc/chrony.conf |
# 註釋掉 #pool 2.centos.pool.ntp.org iburst # 新增 server ip iburst ,可以配置多個例如: server ntp.aliyun.com iburst server 192.168.10.23 |
systemctl restart chronyd.service #重啟服務
timedatectl set-timezone Asia/Shanghai #設定時區
systemctl enable chronyd #設定開機啟動
九、 配置yum庫為阿里雲或清華雲:
mkdir /etc/yum.repos.d/repo_bak #建立一個repo_bak目錄備份舊源
mv /etc/yum.repos.d/*.repo repo_bak/ #舊源配置移動到備份目錄下
wget http://mirrors.aliyun.com/repo/Centos-8.repo #下載對應版本的repo檔案
vim /etc/yum.repos.d/CentOS-cnnic.repo #配置清華源centos8 |
#清華源如下配置,這裡centosplus-cnnic和PowerTools-cnnic中的enabled根據需求開啟; [BaseOS-cnnic] name=CentOS-$releasever-Base-cnnic baseurl=https://mirrors.cnnic.cn/centos/$releasever/BaseOS/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=https://mirrors.cnnic.cn/centos/RPM-GPG-KEY-CentOS-Official [AppStream-cnnic] name=CentOS-$releasever-AppStream-cnnic baseurl=https://mirrors.cnnic.cn/centos/$releasever/AppStream/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=https://mirrors.cnnic.cn/centos/RPM-GPG-KEY-CentOS-Official [extras-cnnic] name=CentOS-$releasever-Extras-cnnic baseurl=https://mirrors.cnnic.cn/centos/$releasever/extras/$basearch/os/ gpgcheck=1 enabled=1 gpgkey=https://mirrors.cnnic.cn/centos/RPM-GPG-KEY-CentOS-Official [centosplus-cnnic] name=CentOS-$releasever-Plus-cnnic baseurl=https://mirrors.cnnic.cn/centos/$releasever/centosplus/$basearch/os/ gpgcheck=1 enabled=0 gpgkey=https://mirrors.cnnic.cn/centos/RPM-GPG-KEY-CentOS-Official [PowerTools-cnnic] name=CentOS-$releasever-PowerTools-cnnic baseurl=https://mirrors.cnnic.cn/centos/$releasever/PowerTools/$basearch/os/ gpgcheck=1 enabled=0 gpgkey=https://mirrors.cnnic.cn/centos/RPM-GPG-KEY-CentOS-Official |
清除系統yum快取,並重新生成新的yum快取
dnf -y install epel-release #安裝
dnf clean all #清快取
dnf makecache #重新編輯生成yum快取
dnf repolist #列出啟用的dnf倉庫
yum -y update #升級系統核心和所有軟體更新包
cat /etc/redhat-release #檢視一下升級後的系統版本
uname -r #檢視一下升級後的核心版本
十、 配置應用環境:docker、docker-compose、MySql
1、 安裝Docker 20.10.10和docker-compose 1.25.1
安裝前置環境,執行過第九章只需執行最後一步 |
#yum clean all #yum makecache #yum update -y #yum install -y vim net-tools curl #dnf install epel-release -y dnf install neofetch -y |
安裝Docker 20.10.10、docker-compose 1.25.1 |
curl -fsSL https://cdn.jsdelivr.net/gh/dyrnq/install-docker@main/install-docker.sh | bash -s docker --mirror Tuna --version 20.10.10 --with-compose --compose-version 1.25.1 --compose-mirror daocloud |
docker version #安裝完畢,檢視一下版本
2、 安裝MySQL 5.7
安裝前置環境 |
rpm -qa|grep mysql #檢視系統中是否有mysql yum remove mysql mysql-server mysql-libs mysql-common #刪除系統中存在的mysql rm -rf /var/lib/mysql #刪除mysql目錄 yum install wget -y #安裝wget |
開始安裝mysql 5.7 |
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm #下載mysql源安裝包 yum localinstall mysql57-community-release-el7-8.noarch.rpm #安裝mysql源 yum repolist enabled | grep "mysql.*-community.*" #驗證安裝 yum install mysql-community-server #安裝MySQL (如果報錯執行如下: 先執行:yum module disable mysql 再執行:yum install mysql-community-server) |
初始化mysql |
systemctl start mysqld #啟動mysql systemctl status mysqld #檢視啟動狀態 systemctl enable mysqld #設定開機啟動 systemctl daemon-reload #重啟系統核心 grep 'temporary password' /var/log/mysqld.log #檢視mysql臨時密碼 mysql -uroot -p #登陸,輸入臨時密碼 登陸進mysql後預設必須修改密碼才能進行操作: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; #修改臨時密碼為123456 |
配置mysql允許遠端訪問 |
use mysql #進入mysql資料庫 GRANT ALL ON *.* TO root@'%' IDENTIFIED BY '123456' WITH GRANT OPTION #新增遠端訪問密碼為123456 flush privileges #重新整理修改 mysql> exit #退出MySQL systemctl restart mysqld #重啟mysql服務 sudo firewall-cmd --permanent --zone=public --add-port=3306/tcp #開啟防火牆3306預設mysql埠 sudo firewall-cmd –reload #重啟防火牆,使生效 |
十一、 配置redis:
a) 配置環境:
yum-yinstallgccautomakeautoconflibtoolmake
yum -y install tcl
yum -y install telnet
b) 上傳或wget得到redis-5.0.2.tar.gz壓縮包:
cd /root
wget http://download.redis.io/releases/redis-5.0.2.tar.gz
c) 安裝redis:
tar -xzvf redis-5.0.2.tar.gz
ll
cd redis-5.0.2 #進入redis目錄
make # 編譯
make install # 執行安裝,可用引數指定安裝路徑”PREFIX=/xxx/xxx”
d) 測試redis正確安裝:
redis-server redis.conf # 啟動redis服務,順便看一下是否安裝成功
redis-cli -h 192.168.8.111 -p 6379 -a 1+1=2?Yes # 登陸redis命令介面
redis-cli -h 192.168.8.111 -p 6379 -a 1+1=2?Yes shutdown # 關閉redis程序或kill
e) 修改redis.conf檔案:
vim /root/redis-5.0.2/redis.conf #修改redis配置,完成後可用mv改名
protected-mode no # 允許遠端訪問 daemonize yes # redis服務後臺執行 port 6379 # 埠號 logfile 7000.log # 日誌檔案及路徑 dir ./ # 資料檔案目錄 requirepass 1+1=2?Yes # 配置redis登陸密碼 masterauth 1+1=2?Yes # 配置哨兵模式選舉時的內部訪問密碼 bind 192.168.8.111 127.0.0.1 # 配置外網訪問IP # AOF 資料持久化,主從模式必須開啟 appendonly yes appendfilename aof-7000.aof appendfsync everysec no-appendfsync-on-rewrite yes auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb |
配置redis服務系統啟動:
cd /root/redis-5.0.2/untils/
./install_server.sh # 執行redis提供的系統啟動解決方案,一路回車即可
(注:執行完畢,會自動生成”/etc/init.d/redis_6379”指令碼檔案)
chkconfig –add redis_6379 # 將生成的指令碼寫入自定義系統服務
systemctl start redis_6379 # 啟動服務,重啟也成
systemctl daemon-reload # 重啟系統也可以
f) redis操作命令:
set
redis-server redis.conf
redis-cli -h 192.168.8.111 -p 6379 -a ‘1+1=2?Yes’
redis-cli #第2種登陸方法a
auth 密碼 #第2種登陸方法b
info sentinel
info replication #查詢主從複製狀態和關係
十二、 系統重要目錄
/etc/sysconfig/network-scripts/ifcfg-eth0 #網絡卡配置檔案
/etc/resolv.conf #客戶端DNS
/etc/hosts #本地的主機名解析的檔案
/etc/sysconfig/network #主機名
/etc/fstab #開機磁碟自動掛載的檔案
/etc/rc.local #像360開機防毒軟體一樣,一開電腦檔案一起啟動;linux裡面其中一個地點就是把那個啟動命令放在這個路徑
/etc/inittab #開機的時候設定linux的執行級別,然後載入先後級別的指令碼
/etc/init.d #我們使用yum、rpm安裝的軟體預設的啟動命令放在目錄下
/etc/profile #全域性(所有使用者)
/etc/bashrc #全域性(所有使用者)
~/.bashrc #區域性(當前使用者)
/usr/local #C盤Program預設的安裝目錄
/usr/src #原始碼安裝目錄
/var/log/messages #系統日誌,開機關機的所有記錄
/var/log/secure #安全日誌
十三、 運維常用命令
系統日誌位置:/var/log/messages
檢查是否有異常錯誤記錄 也可以搜尋一些異常關鍵字,例如:
grep -i error /var/log/messages
grep -i fail /var/log/messages
查尋歷史命令:history
顯示當前工作完整路徑:pwd
檢測磁碟空間:df -h
檢測目錄大小:du
建立目錄:mkdir
移動目錄和檔案:mv
刪除目錄和檔案:rm -rf dir1
檢視網路狀態:ip addr、route、traceroute
檢視程序資訊:ps -aux|grep 關鍵詞
刪除0位元組檔案:find -type f -size 0 -exec rm -rf {} \;
檢視程序按記憶體從大到小排列:ps -e -o "%C : %p : %z : %a"|sort -k5 -nr
按 CPU 利用率從大到小排列:ps -e -o "%C : %p : %z : %a"|sort -nr
檢視 http 的併發請求數及其 TCP 連線狀態:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
殺掉 MySQL 程序:
ps aux |grep mysql |grep -v grep |awk '{print $2}' |xargs kill -9
killall -TERM mysqld
kill -9 `cat /usr/local/apache2/logs/httpd.pid` #試試查殺程序PID
顯示執行 3 級別開啟的服務:ls /etc/rc3.d/S* |cut -c 15-
檢視8008埠建立連線:
netstat -an -t | grep ":8008" | grep ESTABLISHED | awk '{printf "%s %s\n",$5,$6}' | sort
檢視 Apache 的併發請求數及其 TCP 連線狀態:
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
統計伺服器所有的 jpg 的檔案的大小:
find / -name *.jpg -exec wc -c {} \;|awk '{print $1}'|awk '{a+=$1}END{print a}'
CPU負載:cat /proc/loadavg
CPU負載,檢查 %idle 是否過低:mpstat 1 1
記憶體空間:free -h
SWAP 空間 :vmstat 1 5 #觀察 si 和 so 值是否較大
磁碟空間 :df -h
所有檔案或目錄按佔用空間從大到小排列:du -cks * | sort -rn | head -n 10
磁碟 I/O 負載:iostat -x 1 2 #需yum安裝,檢查I/O使用率(%util)是否超過 100%
網路負載:sar -n DEV #需安裝,檢查網路流量(rxbyt/s, txbyt/s)是否過高
網路錯誤:
netstat -i
cat /proc/net/dev #檢視詳細資訊網路流量
網路連線數目:
netstat -an | grep -E “^(tcp)” | cut -c 68- | sort | uniq -c | sort -n
程序總數:ps aux | wc -l
檢查登入使用者是否過多:who | wc -l
檢視核心日誌:dmesg
系統時間:date
開啟檔案數目: lsof | wc -l
殺掉80埠相關的程序:lsof -i :80|grep -v “ID”|awk ‘{print “kill -9”,$2}’|sh
清除僵死程序:ps -eal | awk '{ if ($2 == "Z") {print $4}}' | kill -9
檢視系統自啟動的服務:chkconfig --list | awk '{if ($5=="3:on") print $1}'
動態顯示程序:top [-c]
引數C:以命令方式查詢
檢視使用者啟動的程序:top -id 1
VIM操作:
“/”+要搜尋的欄位,回車,搜尋全文欄位
“G”,直接翻到檔案末尾
“gg”,直接翻到檔案頭
“i”,進入編輯模式
按時間顯示檔案: ls -lrt(l表示詳細列表,r表示反向排序,t表示按時間排序)
掛載win共享分割槽:
mount -t cifs //192.168.10.25/Baiinfo-Backup /Baiinfo-Backup -o username=administrator,password=BaiInfo#2538,sec=ntlm,vers=1.0
十四、 多網絡卡路由配置問題
route #檢視系統中路由狀態
例如:
ens33 為內網網絡卡,IP地址為192.168.15.7
ens37 為外網網絡卡,IP地址為192.168.146.142
當ens33網絡卡啟用後出現無法訪問外網的情況
route一下,檢視發現有2個預設路由default,導致網路路由出口故障
解決方法,把ens33網絡卡配置中的預設路由關閉,將DEFROUTE選項設定為no,只保留一個外網網絡卡路由出口:
完畢。
臨時解決方案(重啟後問題依舊):route del default gw 192.168.15.1
十五、 配置Zabbix Agent2客戶端
1、下載:
http://repo.zabbix.com/zabbix/5.4/rhel/8/x86_64/zabbix-agent2-5.4.0-9.el8.x86_64.rpm
PS:zabbix-agent2-5.4.0-9.el8.x86_64.rpm(已經放在目錄下)
2、安裝步驟:
第一步:zabbix-agent2-5.4.0-9.el8.x86_64.rpm放到/home
第二步:執行rpm -ivh zabbix-agent2-5.4.0-9.el8.x86_64.rpm
3、編輯配置檔案:
vi /etc/zabbix/zabbix_agent2.conf |
Server=192.168.13.74 # 伺服器IP ServerActive=192.168.13.74 #伺服器IP Hostname=zbz-agent01 # 客戶端主機名 |
4、執行,並檢視啟動命令:rpm -qa | grep zabbix
zabbix-agent2-5.4.0-9.el8.x86_64
(PS:這步一定要做,命令中-和_的區別。)
5、啟動agent2並設定開機自啟:
systemctl enable --now zabbix-agent2
6、開通埠,檢視確認
firewall-cmd --zone=public --add-port=10050/tcp --permanent
firewall-cmd --reload
netstat -tnlp|grep 10050
netstat -lnpt
7、監控dockerf需要把zabbix使用者新增進docker組中
usermod -a -G docker zabbix #新增zabbix使用者進docker組中
systemctl restart zabbix-agent2 #重啟zabbix-agent2服務
十六、 安裝中文字型庫
1、檢視字型庫
fc-list #檢視有沒有中文字型庫
2、安裝中文字型
a.檢視/usr/share目錄下有沒有fonts和fontconfig兩個資料夾,沒有的執行安裝:
ll /usr/share
yum -y install fontconfig
b.切換至fonts目錄下,建立一個資料夾,此處建立chinese資料夾
cd /usr/share/fonts
mkdir chinese
c.複製字型庫
從windows的字型庫在C:/Windows/Fonts目錄下,上傳到chinese目錄
cp *.* /usr/share/fonts/chinese/
d.修改chinese目錄的許可權
chmod -R 755 /usr/share/fonts/chinese
e.使用ttmkfdir命令生成fonts.scale檔案
yum -y install ttmkfdir #若沒有命令,通過yum安裝
然後執行下邊命令,會發現在chinese目錄下生成一個fonts.scale檔案
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
f.修改字型配置檔案
vim /etc/fonts/fonts.conf #新增我們建立的中文字型目錄路徑 |
<!-- Font directory list --> #找到此標記處,新增字型路徑 <dir>/usr/share/fonts</dir> <dir>/usr/share/X11/fonts/Type1</dir> <dir>/usr/share/X11/fonts/TTF</dir> <dir>/usr/local/share/fonts</dir> <dir prefix="xdg">fonts</dir> <dir>/usr/share/fonts/chinese</dir> #新增中文字型路徑 |
:wq #儲存退出 |
g.重新整理字型
fc-cache #刷新系統重新載入字型檔案
fc-list|grep chinese #只檢視中文相關字型
十七、 配置harbor企業私有Dokcer倉庫:
1、 先安裝docker和docker-compose
2、 下載、解壓harbor-2.3.4映象包
wget https://github.com/goharbor/harbor/releases/download/v2.3.4/harbor-offline-installer-v2.3.4.tgz
tar zxvf harbor-offline-installer-v2.3.4.tgz
3、 安裝harbor-2.3.4:
cd harbor
cp harbor.yml.tmpl harbor.yml #複製出docker-compose啟動檔案
ll #顯示目錄如下圖
vim habor.yml #編輯docker-compose的啟動檔案 |
# Configuration file of Harbor # The IP address or hostname to access admin UI and registry service. # DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients. hostname: 192.168.1.7 #配置監聽地址或URL # http related config http: # port for http, default is 80. If https enabled, this port will redirect to https port port: 88 #配置監聽埠 #注消下方所有關於https配置的資訊 # https related config #https: # https port for harbor, default is 443 # port: 443 # The path of cert and key files for nginx #certificate: /your/certificate/path #private_key: /your/private/key/path # The initial password of Harbor admin # It only works in first time to install harbor # Remember Change the admin password from UI after launching Harbor. harbor_admin_password: zxc.1234 #配置admin使用者登陸密碼 # The default data volume data_volume: /data/harbor_data #配置資料存放目錄 |
:wq #儲存退出 |
./install.sh #開始安裝,等待即可
PS:docker-compose up -d #系統啟動後harbor未啟動,進目錄下命令啟動
4、 訪問harbor
Web開啟http://192.168.1.7:88 建立新專案(帳號和密碼:admin zxc.1234)
5、 修改docker檔案,使可以登陸倉庫地址
vim /etc/docker/daemon.json #修改docker配置 |
新增{"insecure-registries":["192.168.1.7:88"]} 或者{"insecure-registries":["hub.baiinfo.com:80"]} |
例: {"live-restore":true,"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"],"storage-driver":"overlay2","storage-opts":["overlay2.override_kernel_check=true"],"log-level":"info","log-driver":"json-file","log-opts":{"max-size":"100m"},"insecure-registries":["192.168.1.7:88"]} |
:wq #儲存退出 |
systemctl restart docker
6、 定義標籤並上傳映象到倉庫
在web介面點開專案可以看到命令上傳的格式
#在docker中登陸harbor倉庫
docker login 192.168.1.7:88
admin:
password:
#在docker中標記映象,有的需要指定版本號
docker tag nginx_log_baiinfo_zl 192.168.1.7:88/log_baiinfo/nginx_log_baiinfo_zl
#推送映象到倉庫
docker push 192.168.1.7:88/log_baiinfo/nginx_log_baiinfo_zl
#退出倉庫連線
docker logout http://192.168.17:88
7、 配置服務並開機啟動
vim /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 # 需要注意 harbor 的安裝位置, 必須使用 docker-compose up 命令啟動 ExecStart=/usr/bin/docker-compose -f /data/harbor/docker-compose.yml up ExecStop=/usr/bin/docker-compose -f /data/harbor/docker-compose.yml stop [Install] WantedBy=multi-user.target |
:wq |
systemctl daemon-reload
systemctl enable harbor # 開機自啟
systemctl start harbor # 啟動