1. 程式人生 > 其它 >CentOS 8.3 伺服器部署手冊

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 # 啟動