#!/bin/bash
#快捷方式/启动器名字
AppName="AppNam"
#容器名字
ContainerName="AAAA"
#项目名字
DebTemplate="cn.i8520.ubuntu2204"
echo "${ContainerName}" > /opt/CN-i8520-MILLET/${DebTemplate}/ContainerName.TXT
#-------------------------------
# 引入脚本的使用说明
#【有道云笔记】功能脚本
# https://note.youdao.com/s/BBlPM7OJ
#-------------------------------
MY_USER_DIR=`/opt/CN-i8520-MILLET/${DebTemplate}/lib/MY-USER-PWD 1`
MY_USER_NAME=`/opt/CN-i8520-MILLET/${DebTemplate}/lib/MY-USER-PWD`
MY_Desktop=`/opt/CN-i8520-MILLET/${DebTemplate}/lib/MY-Desktop`
CMD_MY_TERMINAL=`/opt/CN-i8520-MILLET/${DebTemplate}/lib/MY_TERMINAL TERMINAL`
CMD_MY_INTERNET_W=`/opt/CN-i8520-MILLET/${DebTemplate}/lib/MY_TERMINAL 1`
CMD_MY_INTERNET_N=`/opt/CN-i8520-MILLET/${DebTemplate}/lib/MY_TERMINAL`
#/opt/CN-i8520-MILLET/${DebTemplate}/lib/CCCX
#-------------------------------
# 拷贝文件 到 /opt/CN-i8520-MILLET/uninstal/${DebTemplate}
NninstalDirShrll="/opt/CN-i8520-MILLET/uninstal/${DebTemplate}"
if [ ! -d "${NninstalDirShrll}" ]
then
  mkdir -p ${NninstalDirShrll}
  sleep 1
  CpLib(){
  cd /opt/CN-i8520-MILLET/${DebTemplate}/lib
  cp -r MY-USER-PWD MY-Desktop ${NninstalDirShrll}
  }
  #执行复制函数
  CpLib 
fi

#-------------------------------
# 创建桌面启动器文件
#-------------------------------
#获取图标文件名
IcomFileDir="/opt/CN-i8520-MILLET/${DebTemplate}/icon"
IcomFileDirX(){
cd ${IcomFileDir}
ls
}
#创建.desktop文件
DesktopFileDir="/opt/CN-i8520-MILLET/${DebTemplate}/DesktopStartupFile"
ExecDIR="/opt/CN-i8520-MILLET/${DebTemplate}/bin/cmd-link-ServersFile"
if [ ! -f "${DesktopFileDir}/${DebTemplate}.desktop" ]
then
cat > ${DesktopFileDir}/${DebTemplate}.desktop<<EOT
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=${AppName}
Name[zh_CN]=${AppName}
Comment=${AppName}
Terminal=false
Type=Application
Categories=Graphics;
StartupNotify=true
Actions=Configure;Capture;
Exec=${ExecDIR}
Icon=${IcomFileDir}/`IcomFileDirX`
EOT
#附加执行权限
/opt/CN-i8520-MILLET/${DebTemplate}/lib/CCCX 755 ${DesktopFileDir}/${DebTemplate}.desktop
/opt/CN-i8520-MILLET/${DebTemplate}/lib/CCCX ${DesktopFileDir}/${DebTemplate}.desktop
#复制启动器文件到开始菜单和桌面
cp -r ${DesktopFileDir}/${DebTemplate}.desktop /usr/share/applications
cp -r ${DesktopFileDir}/${DebTemplate}.desktop "${MY_Desktop}"
fi

#-------------------------------
# 你具体要执行的安装后执行的代码
#-------------------------------

#-------------------------------
# 倒入镜像
#-------------------------------
ImageDir=/opt/CN-i8520-MILLET/${DebTemplate}/DockerImage
#获取7z文件名的函数
File7z(){
cd ${ImageDir}
ls | grep ".7z"
}
#获得镜像名字的函数
ImageFile(){
cd ${ImageDir}
ls | grep ".tar"
}

if [ -f "/opt/CN-i8520-MILLET/${DebTemplate}/image.docker.load.lock" ]; then  
    echo "镜像已倒入"  
else  
    echo "" > /opt/CN-i8520-MILLET/${DebTemplate}/image.docker.load.lock
    #解压镜像
    7z x "${ImageDir}/`File7z`" -o${ImageDir}
    sleep 1
    #倒入镜像
    docker load -i "${ImageDir}/`ImageFile`" > /opt/CN-i8520-MILLET/${DebTemplate}/image.docker.load.log
    sleep 1
    rm -rf "${ImageDir}/`ImageFile`"
    echo "镜像已倒入"
fi
#-------------------------------
# 创建容器
#-------------------------------
Docker_Image_RUN(){
if [ -f "/opt/CN-i8520-MILLET/${DebTemplate}/Docker_Image_RUN.lock" ]; then  
    echo "创建容器 OK"  
else  
    echo "" > /opt/CN-i8520-MILLET/${DebTemplate}/Docker_Image_RUN.lock
    image_docker_load_log="/opt/CN-i8520-MILLET/${DebTemplate}/image.docker.load.log"
    REPOSITORY_TAG=`cat ${image_docker_load_log} | grep "image:" | awk '{print $3}'`
    REPOSITORY_TAG_NAME="${REPOSITORY_TAG}"
    #开放的端口
    PORT_A="-p 18598:18598 -p 18605:18605 -p 30002:30002 -p 30011:30011"
    #容器名字
    CONTAINER_NAME="${ContainerName}"
    #映射路径
    VOLUME_A="-v ${MY_USER_DIR}/data1:/data1"
    CMD_INI='/sbin/init'
    docker run  -d --name ${CONTAINER_NAME} ${PORT_A} --privileged=true ${VOLUME_A} ${REPOSITORY_TAG_NAME} ${CMD_INI}
fi
}
Docker_Image_RUN

exit 0  

