docker镜像里提取代码和配置文件
程序员文章站
2022-05-21 12:59:36
...
直接上shell脚本
function getjavafile() { docker run -d -i -t 192.168.2.208:5000/$TYPE/$1:$2 /bin/bash echo "Create Contianer Success" Contianer_ID=`docker ps | awk '{if($2=="192.168.2.208:5000/'$TYPE'/'$1':'$2'"){print $1;}}'` docker cp $Contianer_ID:$3 $4 docker cp $Contianer_ID:$5 $6 echo "Cp File Success" docker stop $Contianer_ID && docker rm $Contianer_ID echo "Stop And Rm Contianer Success" } getjavafile frontend $frontend_num /opt/tingyun/frontend/webapps/frontend/webapp $WORK_PATH/frontend/webapps/frontend/ /opt/tingyun/frontend/webapps/frontend/conf $WORK_PATH/frontend/webapps/frontend/
这里写了一个函数,主要是通过docker cp的方式将容器创建后拷贝出来再把容器删掉。
这里边有一个坑就是docker cp 不能将里边的文件拷贝出来的同时重命名,所以我只能将里边的conf目录拷贝出来后,再命名为想要的名字