centos7 docker运行甜糖服务
最近逛恩山论坛发现有个帅哥以ubuntu已经跑起甜糖了(【非op套娃】x86以ubuntu为底层跑docker甜糖服务),我就想既然ubuntu都能以docker跑起甜糖,那么centos也应该能行,经过一番折腾已成功跑起,下面是教程.
系统:centos 7.x
1.升级系统内核
这里给大家个shell脚本来进行内核升级
cat /root/soft_shell/update_kernel.sh
#!/bin/bash ############################################################################################# # 用途:CentOS7.5 内核版本升级 # 作者:Dy1an<1214966109@qq.com> # 时间:2019-12-09 ############################################################################################# ############################################################################################# # 导入系统变量 ############################################################################################# . /etc/init.d/functions source /etc/profile ############################################################################################# # 服务变量定义 ############################################################################################# # 线条 LINE='---------------------------------------------------------------------------------------' # 进程用户 USER_PROCESS='root' ############################################################################################# # 颜色输出函数 ############################################################################################# function FUNC_COLOR_TEXT() { echo -e " \e[0;$2m$1\e[0m" } function FUNC_ECHO_RED() { echo $(FUNC_COLOR_TEXT "$1" "31") } function FUNC_ECHO_GREEN() { echo $(FUNC_COLOR_TEXT "$1" "32") } function FUNC_ECHO_YELLOW() { echo $(FUNC_COLOR_TEXT "$1" "33") } function FUNC_ECHO_BLUE() { echo $(FUNC_COLOR_TEXT "$1" "34") } ############################################################################################# # 颜色通知输出函数 ############################################################################################# # 通知信息 function FUNC_ECHO_INFO() { echo $(FUNC_COLOR_TEXT "${LINE}" "33") echo $(FUNC_COLOR_TEXT "$1" "33") echo $(FUNC_COLOR_TEXT "${LINE}" "33") } # 完成信息 function FUNC_ECHO_SUCCESS() { echo $(FUNC_COLOR_TEXT "${LINE}" "32") echo $(FUNC_COLOR_TEXT "$1" "32") echo $(FUNC_COLOR_TEXT "${LINE}" "32") } # 错误信息 function FUNC_ECHO_ERROR() { echo $(FUNC_COLOR_TEXT "${LINE}" "31") echo $(FUNC_COLOR_TEXT "$1" "31") echo $(FUNC_COLOR_TEXT "${LINE}" "31") } ############################################################################################# # 系统版本检测函数 ############################################################################################# function FUNC_SYSTEM_CHECK() { VAR_SYSTEM_FLAG=$(/usr/bin/cat /etc/redhat-release | grep 'CentOS' | grep '7' | wc -l) if [[ ${VAR_SYSTEM_FLAG} -ne 1 ]];then FUNC_ECHO_ERROR '本脚本基于 [ CentOS 7 ] 编写,目前暂不支持其他版本系统!' exit 1001 fi } ############################################################################################# # 用户检测函数 ############################################################################################# function FUNC_USER_CHECK() { VAR_USER=$(/usr/bin/whoami) if [[ ${VAR_USER} != 'root' ]];then FUNC_ECHO_ERROR '脚本目前只支持 [ root ] 用户执行,请先切换用户...' exit 1002 fi } ############################################################################################# # 服务器联网函数 ############################################################################################# function FUNC_NETWORK_CHECK() { VAR_PING_NUM=$(/usr/bin/ping -c 3 www.baidu.com | grep 'icmp_seq' | wc -l) if [[ ${VAR_PING_NUM} -eq 0 ]];then FUNC_ECHO_ERROR '网络连接失败,请先配置好网络连接...' exit 1003 fi } ############################################################################################# # 打印系统信息 ############################################################################################# function FUNC_PRINT_SYSTEM_INFO() { # 获取系统信息 SYSTEM_DATE=$(/usr/bin/date) SYSTEM_VERSION=$(/usr/bin/cat /etc/redhat-release) SYSTEM_CPU=$(/usr/bin/cat /proc/cpuinfo | grep 'model name' | head -1 | awk -F: '{print $2}' | sed 's#^[ \t]*##g') SYSTEM_CPU_NUMS=$(/usr/bin/cat /proc/cpuinfo | grep 'model name' | wc -l) SYSTEM_KERNEL=$(/usr/bin/uname -a | awk '{print $3}') SYSTEM_IPADDR=$(/usr/sbin/ip addr | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}') # 打印系统信息 FUNC_ECHO_YELLOW ${LINE} echo "服务器的信息: ${SYSTEM_IPADDR}" FUNC_ECHO_YELLOW ${LINE} echo "操作系统版本: ${SYSTEM_VERSION}" echo "系统内核版本: ${SYSTEM_KERNEL}" echo "处理器的型号: ${SYSTEM_CPU}" echo "处理器的核数: ${SYSTEM_CPU_NUMS}" echo "系统当前时间: ${SYSTEM_DATE}" FUNC_ECHO_YELLOW ${LINE} } ############################################################################################# # 升级内核 ############################################################################################# function FUNC_UPDATE_KERNEL() { # 安装 EL 源 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm if [[ $? -ne 0 ]];then FUNC_ECHO_ERROR "EL 源安装失败,请检查是否存在问题!" exit 1004 fi # 查看可提供升级的版本 yum --disablerepo="*" --enablerepo="elrepo-kernel" list available VAR_KERNEL_NAME="kernel-lt" read -p "请输入上面列出的版本中你想安装的版本(默认 lt 版本) [lt/ml]: " VAR_VERSION_CHOICE if [[ ${VAR_VERSION_CHOICE} == "ml" ]];then VAR_KERNEL_NAME="kernel-ml" fi FUNC_ECHO_INFO "本次选择升级的版本为:${VAR_KERNEL_NAME}" # 升级内核 yum --enablerepo=elrepo-kernel install ${VAR_KERNEL_NAME} if [[ $? -ne 0 ]];then FUNC_ECHO_ERROR "内核升级失败,请根据报错检查是否存在问题!" exit 1005 fi # 查看目前版本 FUNC_ECHO_INFO "系统当前所安装的内核版本如下:" awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg # 选择默认内核版本 VAR_NUM_CHOICE=0 read -p "请输入上面列出的版本序号选择系统最终默认版本(默认 0): " VAR_NUM_CHOICE if [[ $(echo ${VAR_NUM_CHOICE} | sed 's/[0-9]//g') == '' ]];then if [[ ${VAR_NUM_CHOICE} == "" ]];then VAR_NUM_CHOICE=0 fi else FUNC_ECHO_INFO "输入有误,将以默认配置执行..." VAR_NUM_CHOICE=0 fi # 配置系统默认 grub2-set-default ${VAR_NUM_CHOICE} sed -i "s#^GRUB_DEFAULT=.*#GRUB_DEFAULT=${VAR_NUM_CHOICE}#g" /etc/default/grub if [[ $? -ne 0 ]];then FUNC_ECHO_ERROR "默认内核配置失败,可以手动配置/etc/default/grub文件中:GRUB_DEFAULT参数为指定内核索引!" fi } ############################################################################################# # 卸载旧版本内核 ############################################################################################# function FUNC_UNINSTALL_KERNEL() { # 显示内核版本 FUNC_ECHO_INFO "系统当前所安装的内核版本如下:" rpm -qa | grep kernel # 提示卸载 FUNC_ECHO_INFO "你可以手动卸载旧版本:yum -y remove 包名字,然后重启使用:uname -r 查看升级结果" } ############################################################################################# # 安装程序开始 ############################################################################################# # 系统检查 FUNC_SYSTEM_CHECK # 用户检查 FUNC_USER_CHECK # 联网检测 FUNC_NETWORK_CHECK # 打印系统信息 FUNC_PRINT_SYSTEM_INFO read -p "是否继续安装升级(默认 y) [y/n]: " VAR_CHOICE case ${VAR_CHOICE} in [yY][eE][sS]|[yY]) FUNC_UPDATE_KERNEL FUNC_UNINSTALL_KERNEL ;; [nN][oO]|[nN]) FUNC_ECHO_YELLOW "安装升级即将终止..." exit ;; *) FUNC_UPDATE_KERNEL FUNC_UNINSTALL_KERNEL esac
2.安装docker
为避免文章篇幅过大,就放上我的另外一篇文章来进行安装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.下载手机甜糖客户端
iphone: 去AppStore搜索"甜糖"下载.
9.设置路由器
把1024-65535端口转发到你的设备ip,或者打开路由器的upnp功能
好了,接下来大家只需要等app上显示你的信息就可以了.如果可以请大家填上我的邀请码140272,文章不易.
ps:
https://www.cnblogs.com/Dy1an/p/12011691.html
https://www.cnblogs.com/Dy1an/p/12011691.html
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=4052765
https://www.jjblog.xyz/79.html
https://post.smzdm.com/p/apz067m7/
请教下 744287383 这串数字是什么意思? 指向某个目录? 拿来用要不要改?
sh: write error: Invalid argument
失败