add consul
This commit is contained in:
parent
851330c484
commit
e16cd1a196
|
|
@ -7,8 +7,8 @@ export HOST_IP=127.0.0.1
|
||||||
export HOST_NAME=localhost
|
export HOST_NAME=localhost
|
||||||
export REGISTRY=registry.t-aaron.com
|
export REGISTRY=registry.t-aaron.com
|
||||||
|
|
||||||
#export REGISTRY_HOST=${REGISTRY}/tuoheng/
|
export REGISTRY_HOST=${REGISTRY}/tuoheng/
|
||||||
export REGISTRY_HOST=""
|
#export REGISTRY_HOST=""
|
||||||
#MySql 配置
|
#MySql 配置
|
||||||
export MYSQL_PORT=3308
|
export MYSQL_PORT=3308
|
||||||
export MYSQL_ROOT_PASSWORD=tuoheng2024
|
export MYSQL_ROOT_PASSWORD=tuoheng2024
|
||||||
|
|
@ -79,12 +79,18 @@ export SKYWALKING_PASSWORD=skywalking
|
||||||
|
|
||||||
|
|
||||||
# Consul 配置
|
# Consul 配置
|
||||||
export CONSUL_NAME="consul"
|
export CONSUL_NAME=CONSUL_${DOMAIN}
|
||||||
export CONSUL_IMAGE="consul:latest"
|
export CONSUL_IMAGE=${REGISTRY_HOST}consul:latest
|
||||||
export CONSUL_PORT="8500"
|
export CONSUL_PORT="8500"
|
||||||
export CONSUL_MEMORY="512m"
|
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"
|
export SKY_AOP="sky-oap:11800"
|
||||||
#主机INGRESS_PORT 映射到容器80 INGRESS_SSL_PORT 映射到容器 443
|
#主机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_HOST=consul
|
||||||
export SPRING_CLOUD_CONSUL_PORT=8500
|
export SPRING_CLOUD_CONSUL_PORT=8500
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -28,9 +28,6 @@ if docker ps -a | grep -q ${CONSUL_NAME}; then
|
||||||
docker rm ${CONSUL_NAME} >/dev/null 2>&1
|
docker rm ${CONSUL_NAME} >/dev/null 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# 创建数据目录
|
|
||||||
CONSUL_DATA_DIR="/Users/sunpeng/tuoheng/data/consul"
|
|
||||||
mkdir -p ${CONSUL_DATA_DIR}
|
|
||||||
|
|
||||||
# 启动Consul容器
|
# 启动Consul容器
|
||||||
echo "启动 Consul..."
|
echo "启动 Consul..."
|
||||||
|
|
@ -54,13 +51,13 @@ echo "Consul 部署完成!"
|
||||||
echo "UI 访问地址: http://localhost:${CONSUL_PORT}"
|
echo "UI 访问地址: http://localhost:${CONSUL_PORT}"
|
||||||
|
|
||||||
|
|
||||||
echo "Service $SERVICE_NAME . Creating..."
|
# echo "Service $SERVICE_NAME . Creating..."
|
||||||
docker service create \
|
# docker service create \
|
||||||
--name "$SERVICE_NAME" \
|
# --name "$SERVICE_NAME" \
|
||||||
--env CONSUL_BIND_INTERFACE=eth0 \
|
# --env CONSUL_BIND_INTERFACE=eth0 \
|
||||||
--restart-condition any \
|
# --restart-condition any \
|
||||||
--network "$NETWORK" \
|
# --network "$NETWORK" \
|
||||||
--publish published=8500,target=8500 \
|
# --publish published=8500,target=8500 \
|
||||||
--constraint 'node.role == manager' \
|
# --constraint 'node.role == manager' \
|
||||||
consul
|
# consul
|
||||||
docker service ls
|
# docker service ls
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
Loading…
Reference in New Issue