docker镜像里提取代码和配置文件

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

直接上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目录拷贝出来后,再命名为想要的名字

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值