为什么要这样做
每次打好新的jar包后,放上服务器之后都要敲一堆的docker命令,删除旧容器旧镜像,制作新镜像新容器启动,这样感觉有点麻烦,得想办法偷懒才行
代码
sh ./duck.sh duck duck
#! /bin/bash
containerName=$1
imageName=$2
if [[ $containerName && $imageName ]]
then
containerId=$(docker ps -aqf "name=${containerName}")
imageId=$(docker images -q ${imageName})
echo containerId=$containerId,imageId=$imageId
if [[ $containerId && $imageId ]]
then
if [ ${#containerId} -lt 15 ]
then
docker stop $containerId
docker rm $containerId
docker rmi $imageId
else
echo rm too many contaninerId is dangerous
fi
else
echo nothing need to rm
fi
cd /usr/local/src/springboot
docker build -t ${imageName}:1.0 -f Dockerfile .
newImageId=$(docker images -q ${imageName})
docker run -itd -p 8888:8888 --name $containerName $newImageId
echo work done
else
echo containerName and imageName must not be null
fi