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 --permanent #刪除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 -y install gcc automake autoconf libtool make

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM