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   #添加我们创建的中文字体目录路径

   #找到此标记处,添加字体路径

   

/usr/share/fonts

/usr/share/X11/fonts/Type1

/usr/share/X11/fonts/TTF

/usr/local/share/fonts

   

fonts

   

/usr/share/fonts/chinese  #添加中文字体路径

: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   # 启动

相关