test示例:

docker run --rm   -p 8200:8200  -v  ~/seacode/:/opt/    python:3.10.17-slim  /
/bin/bash -c "pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=1000 --no-cache-dir -r /opt/requirements.txt &&cd opt && python /opt/seaApp.py"

 

 

pd:

docker run -itd  --restart=unless-stopped  -p 8200:8200  -v  ~/seacode/:/opt/    python:3.10.17-slim  /
/bin/bash -c "pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=1000 --no-cache-dir -r /opt/requirements.txt &&cd opt && python /opt/seaApp.py"

 

 

jenkins 示例:

set -e
date_tag=`date +%Y%m%d_%H%M%s`
Local_DIR=`pwd`
Dest_DIR=/opt/jenkins_project/${date_tag}
mkdir -v ${Dest_DIR}

SERVICE_NAME=dev-acct-ai-report
echo ${SERVICE_NAME}
cp -r ${Local_DIR}/*  ${Dest_DIR}
 # 打包,不包含目录
tar -cvzf ${SERVICE_NAME}.tar.gz -C ${Dest_DIR} .
echo "SERVICE_NAME=${SERVICE_NAME}" >> ${Local_DIR}/imageName
rm -rf ${Dest_DIR}

 

 

 

 

!!!!!!!!!!!!   系统生成的文件夹   __pycache__  是root 用户组的,当前用户没有权限删除, 最终方案, 不删除, 直接覆盖有效文件

ssh shell:   

set -e
echo $SERVICE_NAME
echo  ${IS_ADD_IMPORT}
mkdir  -p  $SERVICE_NAME
# __pycache_ 删除不掉
#chmod
-R 777 $SERVICE_NAME #rm -rf $SERVICE_NAME/* ####### prepare data ############ chmod 777 ${SERVICE_NAME}.tar.gz mv ${SERVICE_NAME}.tar.gz ${SERVICE_NAME} cd ${SERVICE_NAME} tar -zxf ${SERVICE_NAME}.tar.gz ######如果不需要下载依赖(时间比较久),到这里直接重启容器###### if [ "${IS_ADD_IMPORT}" = "0" ]; then echo "没有新添加依赖,更新代码,重启容器" docker restart ${SERVICE_NAME} else echo "新添加依赖,需要下载依赖,重新构建容器" ######## run docker ##### # stop 避免无法修改文件,被占用 echo "Stop old container if exist" docker stop $SERVICE_NAME || true sleep 3 docker rm $SERVICE_NAME || true sleep 3 echo "Download the latest image" #docker pull ${IMAGE} echo "Start create container" ######## 这里需要修改 主类 or --net=host -p80:81 ######### #### cd /opt 需要到主类下,避免导入依赖错误 docker run -itd --restart=unless-stopped -p8200:8000 --name=${SERVICE_NAME} -u $(id -u):$(id -g) -v ~/${SERVICE_NAME}/:/opt/ python:3.10.17-slim /bin/bash -c "pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --default-timeout=1000 --no-cache-dir -r /opt/requirements.txt &&cd /opt/code && python /opt/code/ReportApp.py" echo "End create container" fi

 

posted on 2025-04-29 15:43  lshan  阅读(18)  评论(0)    收藏  举报