diff --git a/Dockerfile b/Dockerfile index 20cdb51..5a46fac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -36,5 +36,6 @@ RUN apt update && \ COPY overlay/localtime /etc COPY prog /home/ +COPY start.sh /home WORKDIR /home CMD ["/home/start.sh"] \ No newline at end of file diff --git a/README.md b/README.md index 93312ec..86ca8e4 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,12 @@ - pack:edge 虚拟驱动程序包,有 virhwedge 直接打包而来,如:Edge_PLCDrv_amd64_v1.1.1_5.0.5.tar.gz ### 发布 -在edge 发布版本时注意修改卷映射,将容器目录修改为: /var/IoTEdge/config -![alt text](image.png) +在edge 发布版本时注意修改卷映射: + +| 本地卷名称 | 类型 | 主机目录 | 容器目录 | 权限 | +| :--- | :--- | :--- | :--- | :--- | +| log | LOG | / | /home/app/log | 读写 | +| config | CONFIG | /sdk_cfg | /home/app/conf | 读写 | +| config | CONFIG | /dev_cfg | /home/app/PlcColDLL/CfgFile | 读写 | + diff --git a/build.sh b/build.sh index 62ca0b9..152cc6c 100755 --- a/build.sh +++ b/build.sh @@ -49,6 +49,9 @@ tar -xzf "$COMPRESSED_FILE" -C "$TARGET_DIR" || { exit 1 } +#备份压缩文件 +cp $COMPRESSED_FILE $TARGET_DIR/backup.tar.gz + # Docker构建参数配置 declare -A ARCH_CONFIG=( ["arm64"]="ARCH32="armhf" linux/arm64" @@ -57,7 +60,7 @@ declare -A ARCH_CONFIG=( # 动态生成镜像标签 #IMAGE_TAG="gitiot.mgm-iot.com/iot_images/edge_${ARCH_TYPE}:v1.0.0" -IMAGE_TAG="swr.cn-north-4.myhuaweicloud.com/cloud-yuzhen/edge_plc_all_${ARCH_TYPE}:${VERSION}" +IMAGE_TAG="swr.cn-north-4.myhuaweicloud.com/cloud-yuzhen/edge_plc_wb_${ARCH_TYPE}:${VERSION}" # 执行构建命令(网页3/5的Docker参数传递模式) echo "启动Docker构建(架构:$ARCH_TYPE)..." @@ -75,4 +78,4 @@ $BUILDCMD || { echo "构建完成,镜像已生成:$IMAGE_TAG" echo "正在推送镜像到镜像仓库..." -docker push "$IMAGE_TAG" \ No newline at end of file +# docker push "$IMAGE_TAG" \ No newline at end of file diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..3363e8b --- /dev/null +++ b/start.sh @@ -0,0 +1,23 @@ +#!/bin/sh +work_dir="/home" +sdk_cfg="app/conf" +app_cfg="cfg" +plc_cfg="app/PlcColDLL/CfgFile" + +if [ -z "$(ls -A $work_dir/$sdk_cfg)" ]; then + echo "Directory '$work_dir/$sdk_cfg' is empty or does not exist." + tar -zxf /home/backup.tar.gz -C $work_dir $sdk_cfg +fi + +if [ -z "$(ls -A $work_dir/$app_cfg)" ]; then + echo "Directory '$work_dir/$app_cfg' is empty or does not exist." + tar -zxf /home/backup.tar.gz -C $work_dir $app_cfg +fi + +if [ -z "$(ls -A $work_dir/$plc_cfg)" ]; then + echo "Directory '$work_dir/$plc_cfg' is empty or does not exist." + tar -zxf /home/backup.tar.gz -C $work_dir $plc_cfg +fi + +cd /home/app +./start_app.sh