想编写一个shell脚本,该脚本会进入一个正在运行的docker容器,编辑一个特定的文件,然后退出它。但是,一旦脚本进入container1,它将登陆到其bash终端。好像整个脚本一进入容器就会中断,而将包含脚本的父容器留在后面。
mac为例。。。
#判断docker服务是否启动
# netstat -anp | grep docker &> /dev/null
# echo $?
# if [[ $? -eq 0 ]];then
# echo "docker 已经启动了..."
# else
# echo "docker 没有启动!!!!"
# fi
docker ps |grep ha
echo $?
if [[ $? -eq 0 ]];then
echo "ha 已经启动了...准备部署。。。。"
docker exec ha echo "进入docker内部"
docker exec ha kill -9 $(netstat -nlp | grep :8888 | awk '{print $7}' | awk -F"/" '{ print $1 }')
docker exec ha echo "停止进程~~"
docker exec ha git pull
docker exec ha echo "已拉取最新的的代码,准备重启容器!"
docker restart ha
echo "部署完成~"
else
echo "ha 未启动...准备部署。。。"
docker start ha
sleep 10 && echo "睡眠10秒"
docker exec ha kill -9 $(netstat -nlp | grep :8888 | awk '{print $7}' | awk -F"/" '{ print $1 }')
docker exec ha echo "停止进程~~"
docker exec ha git pull
docker exec ha echo "已拉取最新的的代码,准备重启容器!"
docker restart ha
echo "部署完成~"
fi
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END