This commit is contained in:
孙小云 2025-05-20 11:36:17 +08:00
parent a31c4b62b2
commit aff83df3ea
7 changed files with 71 additions and 19 deletions

View File

@ -1,17 +1,22 @@
#!/bin/bash #!/bin/bash
# 定基本环境变量并导出 # 定基本环境变量并导出
# 所有端口都为主机对外爆露的端口 # 不同的环境采用不同的DOMAIN
# HOST_IP 设置为部署服务器的主机IP
export DOMAIN=bazhong export DOMAIN=bazhong
export NETWORK="swarm_network_$DOMAIN" export NETWORK="swarm_network_$DOMAIN"
export HOST_IP=127.0.0.1 export HOST_IP=127.0.0.1
# 镜像仓库地址
export REGISTRY=registry.t-aaron.com export REGISTRY=registry.t-aaron.com
export SKYWALKING_UI_DOMAIN=sky-${DOMAIN}.t-aaron.com
export CONSUL_DOMAIN=consul-${DOMAIN}.t-aaron.com # 主机的域名后缀
export XXLJOB_DOMAIN=xxljob-${DOMAIN}.t-aaron.com export DOMAIN_END=t-aaron.com
export OIDC_SERVER_DOMAIN=oidc-${DOMAIN}.t-aaron.com export SKYWALKING_UI_DOMAIN=sky-${DOMAIN}.${DOMAIN_END}
export MINIO_DOMAIN=minio-${DOMAIN}.t-aaron.com export CONSUL_DOMAIN=consul-${DOMAIN}.${DOMAIN_END}
export MINIO_CONSOLE_DOMAIN=minioconsole-${DOMAIN}.t-aaron.com export XXLJOB_DOMAIN=xxljob-${DOMAIN}.${DOMAIN_END}
export AIRPORT_DOMAIN=airport-${DOMAIN}.t-aaron.com export OIDC_SERVER_DOMAIN=oidc-${DOMAIN}.${DOMAIN_END}
export MINIO_DOMAIN=minio-${DOMAIN}.${DOMAIN_END}
export MINIO_CONSOLE_DOMAIN=minioconsole-${DOMAIN}.${DOMAIN_END}
export AIRPORT_DOMAIN=airport-${DOMAIN}.${DOMAIN_END}
export REGISTRY_HOST=${REGISTRY}/tuoheng/ export REGISTRY_HOST=${REGISTRY}/tuoheng/
#export REGISTRY_HOST="" #export REGISTRY_HOST=""
@ -19,11 +24,14 @@ export REGISTRY_HOST=${REGISTRY}/tuoheng/
#Nginx 配置 #Nginx 配置
export NGINX_NAME=NGINX_${DOMAIN} export NGINX_NAME=NGINX_${DOMAIN}
export NGINX_IMAGE=${REGISTRY_HOST}nginx:${DOMAIN} export NGINX_IMAGE=${REGISTRY_HOST}nginx:${DOMAIN}
# 主机对外爆露的HTTP端口
export NGINX_HTTP_PORT=8899 export NGINX_HTTP_PORT=8899
# 主机对外爆露的HTTPS端口
export NGINX_HTTPS_PORT=2443 export NGINX_HTTPS_PORT=2443
export NGINX_MEMORY=256m export NGINX_MEMORY=256m
#MySql 配置 #MySql 配置
# 数据库对外爆露端口
export MYSQL_PORT=3308 export MYSQL_PORT=3308
export MYSQL_ROOT_PASSWORD=tuoheng2024 export MYSQL_ROOT_PASSWORD=tuoheng2024
export MYSQL_IMAGE=${REGISTRY_HOST}mysql:8.0.25 export MYSQL_IMAGE=${REGISTRY_HOST}mysql:8.0.25
@ -32,6 +40,7 @@ export MYSQL_NAME=MYSQL_${DOMAIN}
export MYSQL_MEMORY=1g export MYSQL_MEMORY=1g
#Redis 配置 #Redis 配置
export REDIS_PORT=6380 export REDIS_PORT=6380
export REDIS_IMAGE=${REGISTRY_HOST}redis:latest export REDIS_IMAGE=${REGISTRY_HOST}redis:latest
export REDIS_DATA=${NETWORK}_redis_data export REDIS_DATA=${NETWORK}_redis_data
@ -39,6 +48,7 @@ export REDIS_NAME=REDIS_${DOMAIN}
export REDIS_MEMORY=512m export REDIS_MEMORY=512m
#MQTT 配置 #MQTT 配置
# MQTT对外爆露端口
export MQTT_PORT=1883 export MQTT_PORT=1883
export MQTT_WS_PORT=9001 export MQTT_WS_PORT=9001
export MQTT_IMAGE=${REGISTRY_HOST}eclipse-mosquitto:latest export MQTT_IMAGE=${REGISTRY_HOST}eclipse-mosquitto:latest
@ -46,13 +56,15 @@ export MQTT_NAME=MQTT_${DOMAIN}
export MQTT_MEMORY=512m export MQTT_MEMORY=512m
#Kafka 配置 #Kafka 配置
# Kafka对外爆露端口
export KAFKA_PORT=9092 export KAFKA_PORT=9092
export KAFKA_IMAGE=bitnami/kafka:latest export KAFKA_IMAGE=bitnami/kafka:latest
export KAFKA_NAME=KAFKA_${DOMAIN} export KAFKA_NAME=KAFKA_${DOMAIN}
export KAFKA_MEMORY=512m export KAFKA_MEMORY=1g
export KAFKA_DATA=${NETWORK}_kafka_data
#SRS 配置 #SRS 配置
# SRS对外爆露端口
export SRS_NAME=SRS_${DOMAIN} export SRS_NAME=SRS_${DOMAIN}
export SRS_HTTP_PORT=8080 export SRS_HTTP_PORT=8080
export SRS_RTMP_PORT=1935 export SRS_RTMP_PORT=1935
@ -67,7 +79,9 @@ export MINIO_NAME=MINIO_${DOMAIN}
export MINIO_MEMORY=512m export MINIO_MEMORY=512m
export MINIO_IMAGE=quay.io/minio/minio export MINIO_IMAGE=quay.io/minio/minio
export MINIO_DATA=${NETWORK}_minio_data export MINIO_DATA=${NETWORK}_minio_data
# Minio对外爆露端口
export MINIO_API_PORT=9000 export MINIO_API_PORT=9000
# Minio控制台对外爆露端口
export MINIO_CONSOLE_PORT=9002 export MINIO_CONSOLE_PORT=9002
export MINIO_ROOT_USER=miniopassword export MINIO_ROOT_USER=miniopassword
export MINIO_ROOT_PASSWORD=miniopassword export MINIO_ROOT_PASSWORD=miniopassword
@ -78,6 +92,7 @@ export MINIO_SECRET_KEY=minioaccesskey
export ES_NAME=ES_${DOMAIN} export ES_NAME=ES_${DOMAIN}
export ES_IMAGE=elasticsearch:7.8.0 export ES_IMAGE=elasticsearch:7.8.0
export ES_MEMORY=1g export ES_MEMORY=1g
# Elasticsearch对外爆露端口
export ES_PORT=9200 export ES_PORT=9200
export ES_DATA=${NETWORK}_es_data export ES_DATA=${NETWORK}_es_data
@ -88,6 +103,7 @@ export SKYWALKING_OAP_IMAGE=apache/skywalking-oap-server:8.6.0-es7
export SKYWALKING_UI_IMAGE=apache/skywalking-ui:8.6.0 export SKYWALKING_UI_IMAGE=apache/skywalking-ui:8.6.0
export SKYWALKING_OAP_MEMORY=512m export SKYWALKING_OAP_MEMORY=512m
export SKYWALKING_UI_MEMORY=512m export SKYWALKING_UI_MEMORY=512m
# SkyWalking UI对外爆露端口
export SKYWALKING_UI_PORT=8181 export SKYWALKING_UI_PORT=8181
export SW_AGENT_COLLECTOR_BACKEND_SERVICES=${SKYWALKING_OAP_NAME}:11800 export SW_AGENT_COLLECTOR_BACKEND_SERVICES=${SKYWALKING_OAP_NAME}:11800
export SKYWALKING_USERNAME=skywalking export SKYWALKING_USERNAME=skywalking
@ -129,7 +145,7 @@ export GATEWAY_NAME=GATEWAY${DOMAIN}
export GATEWAY_IMAGE=${REGISTRY_HOST}gateway:${DOMAIN} export GATEWAY_IMAGE=${REGISTRY_HOST}gateway:${DOMAIN}
export GATEWAY_JAR=tuoheng_gateway.jar export GATEWAY_JAR=tuoheng_gateway.jar
export GATEWAY_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/gateway/${GATEWAY_JAR} export GATEWAY_REMOTE_JAR=/home/th/workspace/test/swarm/dockerfile/gateway/${GATEWAY_JAR}
export GATEWAY_MEMORY=512m export GATEWAY_MEMORY=1g
#河湖长 #河湖长
export HHZ_API_NAME=HHZ-API${DOMAIN} export HHZ_API_NAME=HHZ-API${DOMAIN}
@ -148,8 +164,9 @@ export AIRPORT_NAME=AIRPORT${DOMAIN}
export AIRPORT_IMAGE=${REGISTRY_HOST}airport:${DOMAIN} export AIRPORT_IMAGE=${REGISTRY_HOST}airport:${DOMAIN}
export AIRPORT_JAR=tuoheng_airport_admin.jar export AIRPORT_JAR=tuoheng_airport_admin.jar
export AIRPORT_REMOTE_JAR=/home/th/workspace/jndsj/jar/airport/${AIRPORT_JAR} export AIRPORT_REMOTE_JAR=/home/th/workspace/jndsj/jar/airport/${AIRPORT_JAR}
export AIRPORT_MEMORY=512m export AIRPORT_MEMORY=1g
export AIRPORT_WEB_DIST=/home/th/workspace/jndsj/web/tuoheng_airport_web/dist #export AIRPORT_WEB_DIST=/home/th/workspace/jndsj/web/tuoheng_airport_web/dist
export AIRPORT_WEB_DIST=/Users/sunpeng/workspace/remote/docker/tuoheng_airport_web/dist
#export AIRPORT_WEB_DIST=/Users/sunpeng/workspace/remote/docker/tuoheng_airport_web/dist #export AIRPORT_WEB_DIST=/Users/sunpeng/workspace/remote/docker/tuoheng_airport_web/dist
export BUSINESS_NAME=BUSINESS${DOMAIN} export BUSINESS_NAME=BUSINESS${DOMAIN}

View File

@ -43,4 +43,10 @@ else
fi fi
source ../environment.sh
if ! docker volume inspect ${KAFKA_DATA} >/dev/null 2>&1; then
docker volume create ${KAFKA_DATA}
echo "创建 ${KAFKA_DATA} 卷成功"
else
echo "${KAFKA_DATA} 卷已存在"
fi

View File

@ -43,7 +43,7 @@ docker run -d \
-e KAFKA_CFG_NODE_ID=1 \ -e KAFKA_CFG_NODE_ID=1 \
-e KAFKA_CFG_PROCESS_ROLES=broker,controller \ -e KAFKA_CFG_PROCESS_ROLES=broker,controller \
-e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:29093 \ -e KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:29093 \
-e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${HOST_IP}:${KAFKA_PORT} \ -e KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://${KAFKA_NAME}:9092 \
-e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@${KAFKA_NAME}:29093 \ -e KAFKA_CFG_CONTROLLER_QUORUM_VOTERS=1@${KAFKA_NAME}:29093 \
-e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \ -e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
-e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \ -e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT \
@ -57,6 +57,7 @@ docker run -d \
-e KAFKA_CFG_LOG_RETENTION_HOURS=168 \ -e KAFKA_CFG_LOG_RETENTION_HOURS=168 \
-e KAFKA_CFG_LOG_RETENTION_BYTES=-1 \ -e KAFKA_CFG_LOG_RETENTION_BYTES=-1 \
-e KAFKA_CFG_DELETE_TOPIC_ENABLE=true \ -e KAFKA_CFG_DELETE_TOPIC_ENABLE=true \
--mount type=volume,source=${KAFKA_DATA},target=/bitnami/kafka \
--memory ${KAFKA_MEMORY} \ --memory ${KAFKA_MEMORY} \
--restart unless-stopped \ --restart unless-stopped \
${KAFKA_IMAGE} ${KAFKA_IMAGE}

View File

@ -27,7 +27,7 @@ docker run --pull always -d \
--env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \ --env SPRING_NEWMQTT_ONLINEURL=tcp://${MQTT_NAME}:1883 \
--env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \ --env SPRING_NEWMQTT_URL=tcp://${MQTT_NAME}:1883 \
--env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \ --env SPRING_NEWMQTT_NEWURL=tcp://${MQTT_NAME}:1883 \
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \ --env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
--env MINIO_OSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \ --env MINIO_OSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
--env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \ --env MINIO_DAJIOSS_ENDPOINT=https://${MINIO_DOMAIN}:${NGINX_HTTPS_PORT} \
--env MINIO_OSS_ACCESS_KEY=${MINIO_ACCESS_KEY} \ --env MINIO_OSS_ACCESS_KEY=${MINIO_ACCESS_KEY} \

View File

@ -22,7 +22,7 @@ docker run --pull always -d \
--env SPRING_DATASOURCE_USERNAME=root \ --env SPRING_DATASOURCE_USERNAME=root \
--env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \ --env SPRING_DATASOURCE_PASSWORD=${MYSQL_ROOT_PASSWORD} \
--env TZ=Asia/Shanghai \ --env TZ=Asia/Shanghai \
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \ --env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \ --mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
--memory ${OIDC_ADMIN_MEMORY} \ --memory ${OIDC_ADMIN_MEMORY} \
--restart unless-stopped \ --restart unless-stopped \

View File

@ -26,7 +26,7 @@ docker run --pull always -d \
--env OAUTH2_TOKEN_ISSUER=https://${OIDC_SERVER_DOMAIN}:2443 \ --env OAUTH2_TOKEN_ISSUER=https://${OIDC_SERVER_DOMAIN}:2443 \
--env SPRING_SECURITY_OAUTH2_RESOURCE-SERVER_JWT_ISSUER-URI=https://${OIDC_SERVER_DOMAIN}:2443 \ --env SPRING_SECURITY_OAUTH2_RESOURCE-SERVER_JWT_ISSUER-URI=https://${OIDC_SERVER_DOMAIN}:2443 \
--env TZ=Asia/Shanghai \ --env TZ=Asia/Shanghai \
--env SPRING_KAFKA_COMMON_BOOTSTRAP-SERVERS=${KAFKA_NAME}:9092 \ --env SPRING_KAFKA_COMMON_BOOTSTRAP_SERVERS=${KAFKA_NAME}:9092 \
--mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \ --mount type=bind,source=/etc/localtime,target=/etc/localtime,readonly \
--memory ${OIDC_SERVER_MEMORY} \ --memory ${OIDC_SERVER_MEMORY} \
--restart unless-stopped \ --restart unless-stopped \

28
start/说明.md Normal file
View File

@ -0,0 +1,28 @@
整体:
1: 在构建服务器上面构建各个服务
builder 构建后端服务
nginx 构建前端服务
2: 在需要部署的服务器上执行start中的命令
先执行init中的脚本初始化环境
environment.sh 环境参数文件,构建时候和部署时候都依赖这个文件,必须保证一致
nginx的vhosts里面的cert文件需要更新为域名的配置文件
1: 刷MySql数据
2: 刷Kafka数据
以下 KAFKA_bazhong 要换成真实容器ID
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-imitateFly
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-task
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic airport-push-voltage-test
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic business-update-dataPermissions-task
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-online-tasks
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --create --bootstrap-server 127.0.0.1:9092 --topic dsp-alg-offline-tasks
docker exec KAFKA_bazhong /opt/bitnami/kafka/bin/kafka-topics.sh --bootstrap-server 127.0.0.1:9092 --list
3: 建minio的权限
部署在大数据服务器:
低空(预备)
大数据的mysql的数据
mqtt需要在综管改使用容器内新的mqtt
minio
srs
视频流录制的配置文件覆盖