直接上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目录拷贝出来后,再命名为想要的名字
本文介绍了一种使用Docker容器技术批量获取特定Java文件的方法。通过编写shell脚本函数,实现创建临时容器、复制容器内的指定文件到宿主机,并在完成任务后删除容器的功能。特别注意的是,在使用docker cp命令时无法直接重命名文件,因此需要额外步骤来处理文件命名。
1243

被折叠的 条评论
为什么被折叠?



