diff --git a/environment.sh b/environment.sh index 898769c..21a0354 100644 --- a/environment.sh +++ b/environment.sh @@ -7,8 +7,8 @@ export HOST_IP=127.0.0.1 export HOST_NAME=localhost export REGISTRY=registry.t-aaron.com -#export REGISTRY_HOST=${REGISTRY}/tuoheng/ -export REGISTRY_HOST="" +export REGISTRY_HOST=${REGISTRY}/tuoheng/ +#export REGISTRY_HOST="" #MySql 配置 export MYSQL_PORT=3308 export MYSQL_ROOT_PASSWORD=tuoheng2024 @@ -79,12 +79,18 @@ export SKYWALKING_PASSWORD=skywalking # Consul 配置 -export CONSUL_NAME="consul" -export CONSUL_IMAGE="consul:latest" +export CONSUL_NAME=CONSUL_${DOMAIN} +export CONSUL_IMAGE=${REGISTRY_HOST}consul:latest export CONSUL_PORT="8500" export CONSUL_MEMORY="512m" - +# XXL-Job 配置 +export XXLJOB_NAME=XXL_JOB_${DOMAIN} +export XXLJOB_IMAGE=${REGISTRY_HOST}xuxueli/xxl-job-admin:2.4.0 +export XXLJOB_PORT=8282 +export XXLJOB_MEMORY=512m +export XXLJOB_ACCESS_TOKEN=default_token + export SKY_AOP="sky-oap:11800" #主机INGRESS_PORT 映射到容器80 INGRESS_SSL_PORT 映射到容器 443 @@ -99,6 +105,7 @@ export TZ=Asia/Shanghai export SPRING_CLOUD_CONSUL_HOST=consul export SPRING_CLOUD_CONSUL_PORT=8500 + diff --git a/init/12.consul.sh b/init/12.consul.sh old mode 100644 new mode 100755 index dce1b08..4d554dd --- a/init/12.consul.sh +++ b/init/12.consul.sh @@ -28,9 +28,6 @@ if docker ps -a | grep -q ${CONSUL_NAME}; then docker rm ${CONSUL_NAME} >/dev/null 2>&1 fi -# 创建数据目录 -CONSUL_DATA_DIR="/Users/sunpeng/tuoheng/data/consul" -mkdir -p ${CONSUL_DATA_DIR} # 启动Consul容器 echo "启动 Consul..." @@ -54,13 +51,13 @@ echo "Consul 部署完成!" echo "UI 访问地址: http://localhost:${CONSUL_PORT}" -echo "Service $SERVICE_NAME . Creating..." - docker service create \ - --name "$SERVICE_NAME" \ - --env CONSUL_BIND_INTERFACE=eth0 \ - --restart-condition any \ - --network "$NETWORK" \ - --publish published=8500,target=8500 \ - --constraint 'node.role == manager' \ - consul -docker service ls +# echo "Service $SERVICE_NAME . Creating..." +# docker service create \ +# --name "$SERVICE_NAME" \ +# --env CONSUL_BIND_INTERFACE=eth0 \ +# --restart-condition any \ +# --network "$NETWORK" \ +# --publish published=8500,target=8500 \ +# --constraint 'node.role == manager' \ +# consul +# docker service ls diff --git a/init/13.xxljob.sh b/init/13.xxljob.sh new file mode 100755 index 0000000..b056827 --- /dev/null +++ b/init/13.xxljob.sh @@ -0,0 +1,80 @@ +#!/bin/bash +source ../environment.sh + +if [ -z "$NETWORK" ]; then +echo "错误: 未找到 NETWORK 环境变量" +exit 1 +fi +if [ -z "$XXLJOB_NAME" ]; then +echo "错误: 未找到 XXLJOB_NAME 环境变量" +exit 1 +fi +if [ -z "$XXLJOB_IMAGE" ]; then +echo "错误: 未找到 XXLJOB_IMAGE 环境变量" +exit 1 +fi +if [ -z "$XXLJOB_PORT" ]; then +echo "错误: 未找到 XXLJOB_PORT 环境变量" +exit 1 +fi +if [ -z "$XXLJOB_MEMORY" ]; then +echo "错误: 未找到 XXLJOB_MEMORY 环境变量" +exit 1 +fi + + +# 停止并删除已存在的容器 +if docker ps -a | grep -q ${XXLJOB_NAME}; then + echo "停止并删除已存在的 XXL-Job 容器..." + docker stop ${XXLJOB_NAME} >/dev/null 2>&1 + docker rm ${XXLJOB_NAME} >/dev/null 2>&1 +fi + +# 检查 MySQL 是否运行 +echo "检查 MySQL 连接..." +docker exec ${MYSQL_NAME} mysqladmin -uroot -p${MYSQL_ROOT_PASSWORD} ping >/dev/null 2>&1 || { + echo "错误: MySQL 未运行或连接失败,请先启动 MySQL" + exit 1 +} + +# 启动 XXL-Job 容器 +echo "启动 XXL-Job..." +docker run -d \ + --name ${XXLJOB_NAME} \ + --network $NETWORK \ + --memory $XXLJOB_MEMORY \ + --restart unless-stopped \ + -p ${XXLJOB_PORT}:8080 \ + -e PARAMS=" \ + --spring.datasource.url=jdbc:mysql://${MYSQL_NAME}:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai \ + --spring.datasource.username=root \ + --spring.datasource.password=${MYSQL_ROOT_PASSWORD} \ + --xxl.job.accessToken=${XXLJOB_ACCESS_TOKEN:-default_token} \ + --server.servlet.context-path=/xxl-job-admin" \ + --mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \ + $XXLJOB_IMAGE + +# 等待 XXL-Job 启动 +echo "等待 XXL-Job 就绪..." +echo "访问地址: http://localhost:${XXLJOB_PORT}/xxl-job-admin" +echo "默认账号: admin / 123456" + + +# # 读取变量 +# source ../environment.sh +# SERVICE_NAME="xxljob" + +# if docker service ls --filter "name=$SERVICE_NAME" | grep -q "$SERVICE_NAME"; then +# echo "Service $SERVICE_NAME exists. Deleting..." +# docker service rm $SERVICE_NAME +# fi +# echo "Service $SERVICE_NAME . Creating..." +# docker service create \ +# --name "$SERVICE_NAME" \ +# -e PARAMS="--xxl.job.accessToken=tuoheng --spring.datasource.url=jdbc:mysql://mysql:3306/xxl_job?Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=root --spring.datasource.password=$MYSQL_ROOT_PASSWORD" \ +# --restart-condition any \ +# --network "$NETWORK" \ +# --publish "8181:8080" \ +# --constraint 'node.role == manager' \ +# xuxueli/xxl-job-admin:2.4.0 +# docker service ls