docker 镜像自动升级脚本

复制代码
#!/bin/bash
# Let's finish it like a flash

ARGS=`getopt -o v:"$@"`
echo $#
if [ $# != 2 ];then
        echo "Need new version"
        exit
fi

case "$1" in
        -v)
                echo "new version: ". $2
                SERVICE_VERSION=$2
                ;;
esac

REGISTRY_URL="172.16.161.215:5000/cloud_portal/portal"

SSO_HOST='172.16.160.178'
SSO_PORT="8010"
MYSQL_HOST="172.16.160.243"
MYSQL_PORT="3306"
MYSQL_DB="portal_db"
MYSQL_PASSWORD='rpzRQFwjf0+W'
K8S_URL="http://172.16.160.173:8090"
REDIS_HOST="172.16.160.178"

# GET the container id for stop and delete
CONTAINER_ID=`docker ps -a | grep 8080 | cut -d " " -f 1`
docker stop ${CONTAINER_ID}
sleep 2
docker rm ${CONTAINER_ID}
sleep 2

docker run -itd --name cms -p 8080:8080 --restart=always -v /home/portal/upload:/home/portal/upload -e SSO_HOST=${SSO_HOST} -e SSO_PORT=${SSO_PORT} -e MYSQL_HOST=${MYSQL_HOST} -e MYSQL_PORT
=${MYSQL_PORT} -e MYSQL_DB=${MYSQL_DB} -e MYSQL_PASSWORD=${MYSQL_PASSWORD} -e K8S_URL=${K8S_URL} -e REDIS_HOST=${REDIS_HOST} ${REGISTRY_URL}:${SERVICE_VERSION}
复制代码

 

posted @   wangmo  阅读(834)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2017-05-05 Windows 7下Git SSH 创建Key的步骤
2017-05-05 Git 权限控制
2017-05-05 编写dockerfile
点击右上角即可分享
微信分享提示