docker部署后端服务的脚本

创建Dockerfile

FROM registry.cn-hangzhou.aliyuncs.com/qiluo-images/openjdk:17
RUN echo "Asia/Shanghai" > /etc/timezone
WORKDIR /app
COPY  *.jar /app/
COPY pod_start.sh /app/
RUN chmod +x /app/pod_start.sh
ENTRYPOINT ["/app/pod_start.sh"]

创建pod_start.sh

#!/bin/bash
echo "23.210.52.55      uc-openplatform.bigdatacq.com"
echo "23.210.52.11      zd-openplatform.bigdatacq.com"
echo "172.16.0.5    redis.cqdx.com" >> /etc/hosts
echo "172.16.0.4    dmsql.cqdx.com" >> /etc/hosts
echo "172.16.0.5    minio.cqdx.com" >> /etc/hosts
echo "127.0.0.1     gateway.cqdx.com"  >> /etc/hosts
jarname=`ls /app/*.jar`
JVM="-server -Xmx2G -Xms1G -XX:+UseG1GC -Djava.security.egd=file:/dev/./urandom"
java $JVM -jar $jarname --spring.profiles.active=test

build镜像

docker build -t chongqing-xxxx-service-web:1.0.0 .

服务部署脚本 (deploy_chongqing_web.sh)

#!/bin/bash

# 定义变量
IMAGE_NAME="chongqing-xxxx-service-web:v1.0.0"
CONTAINER_NAME="chongqing-xxxx-service-web"
HOST_PORT=8000
CONTAINER_PORT=8000
DATA_DIR="/data/chongqing-xxx-service-web"

# 检查Docker是否可用
check_docker() {
    if ! command -v docker &> /dev/null; then
        echo "错误:Docker未安装或未在PATH中"
        exit 1
    fi
}

# 构建Docker镜像
build_image() {
    echo "开始构建Docker镜像..."
    docker build -t $IMAGE_NAME .
    if [ $? -eq 0 ]; then
        echo "镜像构建成功:$IMAGE_NAME"
    else
        echo "镜像构建失败"
        exit 1
    fi
}

# 运行Docker容器
run_container() {
    echo "检查数据目录..."
    mkdir -p $DATA_DIR
    
    echo "启动容器..."
    docker run -d -it \
        --privileged=true \
        --restart=always \
        --name $CONTAINER_NAME \
        -p $HOST_PORT:$CONTAINER_PORT \
        -v $DATA_DIR:/app/ \
        $IMAGE_NAME
    
    if [ $? -eq 0 ]; then
        echo "容器启动成功:$CONTAINER_NAME"
        echo "访问地址:http://localhost:$HOST_PORT"
    else
        echo "容器启动失败"
        exit 1
    fi
}

# 显示菜单
show_menu() {
    echo ""
    echo "请选择操作:"
    echo "1) 仅构建镜像"
    echo "2) 仅运行容器"
    echo "3) 构建镜像并运行容器"
    echo "4) 退出"
    echo ""
    read -p "请输入选项 [1-4]: " option
    echo ""

    case $option in
        1) 
            check_docker
            build_image
            ;;
        2) 
            check_docker
            run_container
            ;;
        3) 
            check_docker
            build_image
            run_container
            ;;
        4) 
            exit 0
            ;;
        *) 
            echo "无效选项"
            show_menu
            ;;
    esac
}

# 主程序
clear
echo "重庆服务平台Web服务部署脚本"
show_menu

将脚本保存为 deploy_chongqing_web.sh

给予执行权限:

chmod +x deploy_chongqing_web.sh

运行脚本:

./deploy_chongqing_web.sh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

❀͜͡傀儡师

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值