centos7 docker运行甜糖服务

系统:centos 7.x

1.升级系统内核

这里给大家个shell脚本来进行内核升级

cat /root/soft_shell/update_kernel.sh

001    #!/bin/bash    
002    
003    #############################################################################################    
004    # 用途:CentOS7.5 内核版本升级    
005    # 作者:Dy1an<1214966109@qq.com>    
006    # 时间:2019-12-09    
007    #############################################################################################    
008    
009    #############################################################################################    
010    # 导入系统变量    
011    #############################################################################################    
012    . /etc/init.d/functions    
013    source /etc/profile    
014    
015    #############################################################################################    
016    # 服务变量定义    
017    #############################################################################################    
018    # 线条    
019    LINE='---------------------------------------------------------------------------------------'    
020    
021    # 进程用户    
022    USER_PROCESS='root'    
023    
024    
025    #############################################################################################    
026    # 颜色输出函数    
027    #############################################################################################    
028    function FUNC_COLOR_TEXT() {    
029      echo -e " \e[0;$2m$1\e[0m"    
030    }    
031    
032    function FUNC_ECHO_RED() {    
033      echo $(FUNC_COLOR_TEXT "$1" "31")    
034    }    
035    
036    function FUNC_ECHO_GREEN() {    
037      echo $(FUNC_COLOR_TEXT "$1" "32")    
038    }    
039    
040    function FUNC_ECHO_YELLOW() {    
041      echo $(FUNC_COLOR_TEXT "$1" "33")    
042    }    
043    
044    function FUNC_ECHO_BLUE() {    
045      echo $(FUNC_COLOR_TEXT "$1" "34")    
046    }    
047    
048    #############################################################################################    
049    # 颜色通知输出函数    
050    #############################################################################################    
051    # 通知信息    
052    function FUNC_ECHO_INFO() {    
053      echo $(FUNC_COLOR_TEXT "${LINE}" "33")    
054      echo $(FUNC_COLOR_TEXT "$1" "33")    
055      echo $(FUNC_COLOR_TEXT "${LINE}" "33")    
056    }    
057    
058    # 完成信息    
059    function FUNC_ECHO_SUCCESS() {    
060      echo $(FUNC_COLOR_TEXT "${LINE}" "32")    
061      echo $(FUNC_COLOR_TEXT "$1" "32")    
062      echo $(FUNC_COLOR_TEXT "${LINE}" "32")    
063    }    
064    
065    # 错误信息    
066    function FUNC_ECHO_ERROR() {    
067      echo $(FUNC_COLOR_TEXT "${LINE}" "31")    
068      echo $(FUNC_COLOR_TEXT "$1" "31")    
069      echo $(FUNC_COLOR_TEXT "${LINE}" "31")    
070    }    
071    
072    #############################################################################################    
073    # 系统版本检测函数    
074    #############################################################################################    
075    function FUNC_SYSTEM_CHECK() {    
076      VAR_SYSTEM_FLAG=$(/usr/bin/cat /etc/redhat-release | grep 'CentOS' | grep '7' | wc -l)    
077      if [[ ${VAR_SYSTEM_FLAG} -ne 1 ]];then    
078        FUNC_ECHO_ERROR '本脚本基于 [ CentOS 7 ] 编写,目前暂不支持其他版本系统!'    
079        exit 1001    
080      fi    
081    }    
082    
083    #############################################################################################    
084    # 用户检测函数    
085    #############################################################################################    
086    function FUNC_USER_CHECK() {    
087      VAR_USER=$(/usr/bin/whoami)    
088      if [[ ${VAR_USER} != 'root' ]];then    
089        FUNC_ECHO_ERROR '脚本目前只支持 [ root ] 用户执行,请先切换用户...'    
090        exit 1002    
091      fi    
092    }    
093    
094    #############################################################################################    
095    # 服务器联网函数    
096    #############################################################################################    
097    function FUNC_NETWORK_CHECK() {    
098      VAR_PING_NUM=$(/usr/bin/ping -c 3 www.baidu.com | grep 'icmp_seq' | wc -l)    
099      if [[ ${VAR_PING_NUM} -eq 0 ]];then    
100        FUNC_ECHO_ERROR '网络连接失败,请先配置好网络连接...'    
101        exit 1003    
102      fi    
103    }    
104    
105    #############################################################################################    
106    # 打印系统信息    
107    #############################################################################################    
108    function FUNC_PRINT_SYSTEM_INFO() {    
109      # 获取系统信息    
110      SYSTEM_DATE=$(/usr/bin/date)    
111      SYSTEM_VERSION=$(/usr/bin/cat /etc/redhat-release)    
112      SYSTEM_CPU=$(/usr/bin/cat /proc/cpuinfo | grep 'model name' | head -1 | awk -F: '{print $2}' | sed 's#^[ \t]*##g')    
113      SYSTEM_CPU_NUMS=$(/usr/bin/cat /proc/cpuinfo | grep 'model name' | wc -l)    
114      SYSTEM_KERNEL=$(/usr/bin/uname -a | awk '{print $3}')    
115      SYSTEM_IPADDR=$(/usr/sbin/ip addr | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}')    
116    
117      # 打印系统信息    
118      FUNC_ECHO_YELLOW ${LINE}    
119      echo "服务器的信息: ${SYSTEM_IPADDR}"    
120      FUNC_ECHO_YELLOW ${LINE}    
121      echo "操作系统版本: ${SYSTEM_VERSION}"    
122      echo "系统内核版本: ${SYSTEM_KERNEL}"    
123      echo "处理器的型号: ${SYSTEM_CPU}"    
124      echo "处理器的核数: ${SYSTEM_CPU_NUMS}"    
125      echo "系统当前时间: ${SYSTEM_DATE}"    
126      FUNC_ECHO_YELLOW ${LINE}    
127    }    
128    
129    #############################################################################################    
130    # 升级内核    
131    #############################################################################################    
132    function FUNC_UPDATE_KERNEL() {    
133        # 安装 EL 源    
134        rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org    
135        rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm    
136    
137        if [[ $? -ne 0 ]];then    
138          FUNC_ECHO_ERROR "EL 源安装失败,请检查是否存在问题!"    
139          exit 1004    
140        fi    
141    
142        # 查看可提供升级的版本    
143        yum --disablerepo="*" --enablerepo="elrepo-kernel" list available    
144    
145        VAR_KERNEL_NAME="kernel-lt"    
146        read -p "请输入上面列出的版本中你想安装的版本(默认 lt 版本) [lt/ml]: " VAR_VERSION_CHOICE    
147        if [[ ${VAR_VERSION_CHOICE} == "ml" ]];then    
148            VAR_KERNEL_NAME="kernel-ml"    
149        fi    
150    
151        FUNC_ECHO_INFO "本次选择升级的版本为:${VAR_KERNEL_NAME}"    
152    
153        # 升级内核    
154        yum --enablerepo=elrepo-kernel install ${VAR_KERNEL_NAME}    
155    
156        if [[ $? -ne 0 ]];then    
157          FUNC_ECHO_ERROR "内核升级失败,请根据报错检查是否存在问题!"    
158          exit 1005    
159        fi    
160    
161        # 查看目前版本    
162        FUNC_ECHO_INFO "系统当前所安装的内核版本如下:"    
163        awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg    
164    
165        # 选择默认内核版本    
166        VAR_NUM_CHOICE=0    
167        read -p "请输入上面列出的版本序号选择系统最终默认版本(默认 0): " VAR_NUM_CHOICE    
168        if [[ $(echo ${VAR_NUM_CHOICE} | sed 's/[0-9]//g') == '' ]];then    
169            if [[ ${VAR_NUM_CHOICE} == "" ]];then    
170                VAR_NUM_CHOICE=0    
171            fi    
172        else    
173            FUNC_ECHO_INFO "输入有误,将以默认配置执行..."    
174            VAR_NUM_CHOICE=0    
175        fi    
176    
177    
178        # 配置系统默认    
179        grub2-set-default ${VAR_NUM_CHOICE}    
180    
181        sed -i "s#^GRUB_DEFAULT=.*#GRUB_DEFAULT=${VAR_NUM_CHOICE}#g" /etc/default/grub    
182    
183        if [[ $? -ne 0 ]];then    
184          FUNC_ECHO_ERROR "默认内核配置失败,可以手动配置/etc/default/grub文件中:GRUB_DEFAULT参数为指定内核索引!"    
185        fi    
186    }    
187    
188    #############################################################################################    
189    # 卸载旧版本内核    
190    #############################################################################################    
191    function FUNC_UNINSTALL_KERNEL() {    
192        # 显示内核版本    
193        FUNC_ECHO_INFO "系统当前所安装的内核版本如下:"    
194        rpm -qa | grep kernel    
195    
196        # 提示卸载    
197        FUNC_ECHO_INFO "你可以手动卸载旧版本:yum -y remove 包名字,然后重启使用:uname -r 查看升级结果"    
198    }    
199    
200    #############################################################################################    
201    # 安装程序开始    
202    #############################################################################################    
203    # 系统检查    
204    FUNC_SYSTEM_CHECK    
205    # 用户检查    
206    FUNC_USER_CHECK    
207    # 联网检测    
208    FUNC_NETWORK_CHECK    
209    # 打印系统信息    
210    FUNC_PRINT_SYSTEM_INFO    
211    
212    read -p "是否继续安装升级(默认 y) [y/n]: " VAR_CHOICE    
213    case ${VAR_CHOICE} in    
214      [yY][eE][sS]|[yY])    
215        FUNC_UPDATE_KERNEL    
216        FUNC_UNINSTALL_KERNEL    
217      ;;    
218      [nN][oO]|[nN])    
219        FUNC_ECHO_YELLOW "安装升级即将终止..."    
220        exit    
221      ;;    
222      *)    
223        FUNC_UPDATE_KERNEL    
224        FUNC_UNINSTALL_KERNEL    
225    esac

2.安装docker

3.docker安装并运行arm模拟器容器

docker run –rm –privileged multiarch/qemu-user-static –reset -p yes

4.新建甜糖缓存目录

mkdir /data/docker/ttnode -p

chmod 777 -R /data/docker/ttnode

5.docker拉取甜糖镜像并运行容器

docker run -v /ttnode:/ttnode -itd –name ttnode –net=host –privileged=true –restart=always 744287383/linux-arm64-ttnode /start.sh

6.进入容器查看甜糖UID

docker exec -it ttnode bash

进入容器后执行:

./usr/node/ttnode -p /data/docker/ttnode

7.将UID生成二维码进行甜糖绑定

进入草料二维码网站:https://cli.im/,将上面所显示的UID复制生成二维码进行绑定.

8.下载手机甜糖客户端

安卓:http://m.tiantang.mogencloud.com/

iphone: 去AppStore搜索"甜糖"下载.

9.设置路由器

把1024-65535端口转发到你的设备ip,或者打开路由器的upnp功能


打赏
0 条评论
发表一条评论