docker-compse 调整 #4

Merged
baladiwei merged 1 commits from baladiwei/gitlink-notification-system:master into master 2021-09-06 13:48:23 +08:00
6 changed files with 94 additions and 80 deletions

3
.gitignore vendored
View File

@ -88,4 +88,5 @@ lint/tmp/
/.idea/
target/
.env
.env
/docker-data/

View File

@ -1,41 +0,0 @@
# xxl-job-admin部署文档
## 代码下载
使用gitee托管下载更快
```shell script
git clone https://gitee.com/xuxueli0323/xxl-job.git
```
## 配置说明
进xxl-job项目根目录找到相关配置文件application.properties
配置文件目录为xxl-job/xxl-job-admin/src/main/resources
主要对以下项做修改:
```properties
### web 服务器启动的端口和根路径
server.port=80
server.servlet.context-path=/xxl-job-admin
### xxl-job, datasource 数据库配置
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=keep
### xxl-job, email xxl-job 本身出错发送的邮件
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=27447985@qq.com
spring.mail.password=123456
### xxl-job, access token 简易的访问token
xxl.job.accessToken=
```
## 代码打包
切换到根目录执行
```shell script
mvn clean install
```
## 代码部署
打包完毕后拷贝jar包:xxl-job-admin-2.3.0.jar
目录为 xxl-job/xxl-job-admin/target
执行
```shell script
nohup java -jar xxl-job-admin-2.3.0.jar >/dev/null 2>&1 &
```

View File

@ -2,8 +2,8 @@
# XXL-JOB v2.3.0
# Copyright (c) 2015-present, xuxueli.
CREATE database if NOT EXISTS `gitlink` default character set utf8mb4 collate utf8mb4_unicode_ci;
use `gitlink`;
CREATE database if NOT EXISTS `gitlink_notification` default character set utf8mb4 collate utf8mb4_unicode_ci;
use `gitlink_notification`;
SET NAMES utf8mb4;

View File

@ -1,37 +1,44 @@
# Environment Variables for docker-compose
# Images config
MYSQL_VERSION=5.7.35
REDIS_VERSION=latest
KAFKA_VERSION=latest
#============================================ Images config ============================================
MYSQL_VERSION=5.7.35
REDIS_VERSION=6.2.5
KAFKA_VERSION=latest
XXL_JOB_ADMIN_VERSION=2.3.0
#============================================ Container config ============================================
# Containers config
MYSQL_CONTAINER_NAME=gitlink_mysql
REDIS_CONTAINER_NAME=gitlink_redis
XXL_JOB_ADMIN_CONTAINER_NAME=gitlink_xxl_job_admin
ZOOKEEPER_CONTAINER_NAME=gitlink_zookeepr
KAFKA_CONTAINER_NAME=gitlink_kafka
KAFKA_MANAGER_CONTAINER_NAME=gitlink_kafka_manager
# Ports config
MYSQL_LOCAL_PORT=3306 ##TODO: Change port number to your lcoal port
REDIS_LOCAL_PORT=6379 ##TODO: Change port number to your lcoal port
ZOOKEEPER_LOCAL_PORT=2181 ##TODO: Change port number to your lcoal port
KAFKA_LOCAL_PORT=9092 ##TODO: Change port number to your lcoal port
KAFKA_MANAGER_LOCAL_PORT=9003 ##TODO: Change port number to your lcoal port
#============================================ Ports config ============================================
# Hosts config
KAFKA_HOST=172.16.15.29
MYSQL_LOCAL_PORT=33306 # TODO: MysQL 本地端口
REDIS_LOCAL_PORT=6379 # TODO: Redis 本地端口
ZOOKEEPER_LOCAL_PORT=2181 # TODO: Zookeeper 本地端口
KAFKA_LOCAL_PORT=9092 # TODO: Kafka 本地端口
KAFKA_MANAGER_LOCAL_PORT=9003 # TODO: Kafka 管理本地端口
XXL_JOB_ADMIN_LOCAL_PORT=9999 #TODO: xxl-job-admin 本地端口
# Path config
MYSQL_WORK_PATH=D:\repos\mysql-docker ## TODO: Change path to your local file system path
MYSQL_DATA_PATH=D:\repos\mysql-docker ## TODO: Change path to your local file system path
REDIS_WORK_PATH=D:\repos\redis-docker ## TODO: Change path to your local file system path
#============================================ Path config ============================================
# TODO: 需要预执行的 sql 脚本目录
SQL_SCRIPT_PATH=/Users/barat/Documents/Institutue/repos/gitlink-notification-system/db
# TODO: Docker 运行时数据目录
DOCKER_DATA_PATH=/Users/barat/Documents/Institutue/repos/gitlink-notification-system/docker-data
# Mysql config
#============================================ MySQL config ============================================
MYSQL_ROOT_PASSWORD=gitLiNk_827
MYSQL_USER=gitlink
MYSQL_PASSWORD=giTlinK0^827
MYSQL_DATABASE=gitlink
MYSQL_DATABASE=gitlink_notification
# Kafka config
#============================================ Kafaka config ============================================
KAFKA_LOG_RETENTION_HOURS=120
KAFKA_MESSAGE_MAX_BYTES=10000000
KAFKA_REPLICA_FETCH_MAX_BYTES=10000000

View File

@ -1,5 +0,0 @@
# 中间件使用说明
将示例文件复制为 .env然后按需修改相关环境变量
```shell script
cp .env.example .env
```

View File

@ -1,6 +1,7 @@
version: '3'
services:
db:
mysql:
image: mysql:${MYSQL_VERSION}
container_name: ${MYSQL_CONTAINER_NAME}
environment:
@ -9,44 +10,95 @@ services:
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=${MYSQL_DATABASE}
volumes:
- ${MYSQL_DATA_PATH}/gitlink_data:/var/lib/mysql
- ${MYSQL_WORK_PATH}/sql/structure.sql:/docker-entrypoint-initdb.d/0000.sql
- ${DOCKER_DATA_PATH}/mysql:/var/lib/mysql
- ${SQL_SCRIPT_PATH}/xxl-job-structure.sql:/docker-entrypoint-initdb.d/0000.sql
ports:
- ${MYSQL_LOCAL_PORT}:3306
networks:
- gitlink_network
redis:
image: redis:${REDIS_VERSION}
container_name: ${REDIS_CONTAINER_NAME}
volumes:
- ${REDIS_WORK_PATH}/data:/data
- ${REDIS_WORK_PATH}/redis.conf:/usr/local/etc/redis/redis.conf
- ${REDIS_WORK_PATH}/logs:/logs
- ${DOCKER_DATA_PATH}/redis/data:/data
- ${DOCKER_DATA_PATH}/redis/logs:/logs
ports:
- ${REDIS_LOCAL_PORT}:6379
networks:
- gitlink_network
xxl-job-admin:
image: xuxueli/xxl-job-admin:${XXL_JOB_ADMIN_VERSION}
container_name: ${XXL_JOB_ADMIN_CONTAINER_NAME}
environment:
- JAVA_OPTS=-Xmx512m
- PARAMS=--spring.datasource.url=jdbc:mysql://${MYSQL_CONTAINER_NAME}:3306/gitlink_notification?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai --spring.datasource.username=${MYSQL_USER} --spring.datasource.password=${MYSQL_PASSWORD}
volumes:
- ${DOCKER_DATA_PATH}/xxl-job-admin:/data/applogs
ports:
- ${XXL_JOB_ADMIN_LOCAL_PORT}:8080
depends_on:
- mysql
networks:
- gitlink_network
zookeeper:
image: wurstmeister/zookeeper
container_name: ${ZOOKEEPER_CONTAINER_NAME}
ports:
- ${ZOOKEEPER_LOCAL_PORT}:2181
networks:
- gitlink_network
kafka:
image: wurstmeister/kafka
container_name: ${KAFKA_CONTAINER_NAME}
volumes:
- /etc/localtime:/etc/localtime
ports:
- ${KAFKA_LOCAL_PORT}:9092
networks:
- gitlink_network
environment:
KAFKA_ADVERTISED_HOST_NAME: ${KAFKA_HOST}
KAFKA_ZOOKEEPER_CONNECT: ${KAFKA_HOST}:${ZOOKEEPER_LOCAL_PORT}
KAFKA_ADVERTISED_PORT: ${KAFKA_LOCAL_PORT}
KAFKA_ADVERTISED_HOST_NAME: ${KAFKA_CONTAINER_NAME}
KAFKA_ZOOKEEPER_CONNECT: ${ZOOKEEPER_CONTAINER_NAME}:2181
KAFKA_ADVERTISED_PORT: 9092
KAFKA_LOG_RETENTION_HOURS: ${KAFKA_LOG_RETENTION_HOURS}
KAFKA_MESSAGE_MAX_BYTES: ${KAFKA_MESSAGE_MAX_BYTES}
KAFKA_REPLICA_FETCH_MAX_BYTES: ${KAFKA_REPLICA_FETCH_MAX_BYTES}
KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS: ${KAFKA_GROUP_MAX_SESSION_TIMEOUT_MS}
KAFKA_NUM_PARTITIONS: ${KAFKA_NUM_PARTITIONS}
KAFKA_DELETE_RETENTION_MS: ${KAFKA_DELETE_RETENTION_MS}
kafka-manager:
image: sheepkiller/kafka-manager
container_name: ${KAFKA_MANAGER_CONTAINER_NAME}
networks:
- gitlink_network
environment:
ZK_HOSTS: ${KAFKA_HOST}
ZK_HOSTS: ${ZOOKEEPER_CONTAINER_NAME}
ports:
- ${KAFKA_MANAGER_LOCAL_PORT}:9000
- ${KAFKA_MANAGER_LOCAL_PORT}:9000
networks:
gitlink_network:
driver: bridge
name: gitlink_network
driver_opts:
com.docker.network.enable_ipv6: "true"