将GNS服务容器化
1、新增 .dockerignore 文件用来保证构建镜像过程不受其他意外情况干扰 2、新增 application.yml.example 文件用来区分开发、测试环境 3、将GNS服务本身也容器化,运行 {repo}/middleware/start_docker_compose.sh 即可
This commit is contained in:
parent
22d2be75c3
commit
2b68746d73
|
@ -0,0 +1,3 @@
|
||||||
|
/docker-data
|
||||||
|
/logs
|
||||||
|
.idea
|
|
@ -92,3 +92,5 @@ target/
|
||||||
/docker-data/
|
/docker-data/
|
||||||
|
|
||||||
/logs/
|
/logs/
|
||||||
|
|
||||||
|
*/src/main/resources/application.yml
|
|
@ -7,12 +7,12 @@ logging:
|
||||||
spring:
|
spring:
|
||||||
kafka:
|
kafka:
|
||||||
producer:
|
producer:
|
||||||
bootstrap_servers: localhost:29092
|
bootstrap_servers: localhost:29092,localhost:39092
|
||||||
client_id: gitlink_producer_01
|
client_id: gitlink_producer_01
|
||||||
retries: 5
|
retries: 5
|
||||||
batch_size: 16384
|
batch_size: 16384
|
||||||
consumer:
|
consumer:
|
||||||
bootstrap_servers: localhost:29092
|
bootstrap_servers: localhost:29092,localhost:39092
|
||||||
client_id: gitlink_consumer
|
client_id: gitlink_consumer
|
||||||
group_id: group-gitlink-notification
|
group_id: group-gitlink-notification
|
||||||
auto_offset_reset: earliest
|
auto_offset_reset: earliest
|
||||||
|
@ -27,6 +27,18 @@ spring:
|
||||||
# 提交模式
|
# 提交模式
|
||||||
ack-mode: record
|
ack-mode: record
|
||||||
|
|
||||||
|
redis:
|
||||||
|
database: 0
|
||||||
|
host: 127.0.0.1
|
||||||
|
port: 6379
|
||||||
|
password:
|
||||||
|
pool:
|
||||||
|
max-active: 200
|
||||||
|
max-wait: -1
|
||||||
|
max-idle: 10
|
||||||
|
min-idle: 0
|
||||||
|
timeout: 1000
|
||||||
|
|
||||||
datasource:
|
datasource:
|
||||||
# 配置数据源类型
|
# 配置数据源类型
|
||||||
driver-class-name: com.mysql.jdbc.Driver
|
driver-class-name: com.mysql.jdbc.Driver
|
|
@ -5,29 +5,29 @@
|
||||||
MYSQL_VERSION=5.7.35
|
MYSQL_VERSION=5.7.35
|
||||||
REDIS_VERSION=6.2.5
|
REDIS_VERSION=6.2.5
|
||||||
KAFKA_VERSION=latest
|
KAFKA_VERSION=latest
|
||||||
XXL_JOB_ADMIN_VERSION=2.3.0
|
GITLINK_NOTIFICATION_SYS_VERSION=1.0.0
|
||||||
|
|
||||||
#============================================ Container config ============================================
|
#============================================ Container config ============================================
|
||||||
|
|
||||||
MYSQL_CONTAINER_NAME=gitlink_mysql
|
MYSQL_CONTAINER_NAME=gitlink_mysql
|
||||||
REDIS_CONTAINER_NAME=gitlink_redis
|
REDIS_CONTAINER_NAME=gitlink_redis
|
||||||
XXL_JOB_ADMIN_CONTAINER_NAME=gitlink_xxl_job_admin
|
|
||||||
ZOOKEEPER_CONTAINER_NAME=gitlink_zookeeper
|
ZOOKEEPER_CONTAINER_NAME=gitlink_zookeeper
|
||||||
KAFKA_CONTAINER_01_NAME=gitlink_kafka_01
|
KAFKA_CONTAINER_01_NAME=gitlink_kafka_01
|
||||||
KAFKA_CONTAINER_02_NAME=gitlink_kafka_02
|
KAFKA_CONTAINER_02_NAME=gitlink_kafka_02
|
||||||
|
GNS_EXECUTOR_CONTAINER_NAME=gns_executor
|
||||||
|
GNS_READER_CONTAINER_NAME=gns_reader
|
||||||
|
GNS_WRITER_CONTAINER_NAME=gns_writer
|
||||||
|
|
||||||
#============================================ Ports config ============================================
|
#============================================ Ports config ============================================
|
||||||
|
|
||||||
MYSQL_LOCAL_PORT=33306
|
MYSQL_LOCAL_PORT=33306
|
||||||
REDIS_LOCAL_PORT=6379
|
REDIS_LOCAL_PORT=6379
|
||||||
ZOOKEEPER_LOCAL_PORT=22181
|
ZOOKEEPER_LOCAL_PORT=22181
|
||||||
XXL_JOB_ADMIN_LOCAL_PORT=9999
|
|
||||||
KAFKA_01_LOCAL_PORT=29092
|
KAFKA_01_LOCAL_PORT=29092
|
||||||
KAFKA_02_LOCAL_PORT=39092
|
KAFKA_02_LOCAL_PORT=39092
|
||||||
|
GNS_EXECUTOR_LOCAL_PORT=8083
|
||||||
#============================================ Kafka Broker ID config ============================================
|
GNS_WRITER_LOCAL_PORT=58082
|
||||||
KAFKA_01_BROKER_ID=1
|
GNS_READER_LOCAL_PORT=58080
|
||||||
KAFKA_02_BROKER_ID=2
|
|
||||||
|
|
||||||
#============================================ Path config ============================================
|
#============================================ Path config ============================================
|
||||||
# TODO: 需要预执行的 sql 脚本目录
|
# TODO: 需要预执行的 sql 脚本目录
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
|
||||||
|
# Dockerfile for gns-writer.jar
|
||||||
|
|
||||||
|
#FROM maven:3.8.2-openjdk-11-slim AS build
|
||||||
|
#COPY . /data
|
||||||
|
#WORKDIR /data
|
||||||
|
#RUN mvn clean package -DskipTests
|
||||||
|
|
||||||
|
FROM openjdk:11.0.12-jre-slim
|
||||||
|
COPY executor/target/gns-executor-1.0.0.jar /data/gns-executor-app.jar
|
||||||
|
WORKDIR /data
|
||||||
|
EXPOSE 8083
|
||||||
|
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS gns-executor-app.jar"]
|
|
@ -0,0 +1,13 @@
|
||||||
|
|
||||||
|
# Dockerfile for gns-writer.jar
|
||||||
|
|
||||||
|
#FROM maven:3.8.2-openjdk-11-slim AS build
|
||||||
|
#COPY . /data
|
||||||
|
#WORKDIR /data
|
||||||
|
#RUN mvn clean package -DskipTests
|
||||||
|
|
||||||
|
FROM openjdk:11.0.12-jre-slim
|
||||||
|
COPY reader/target/gns-reader-1.0.0.jar /data/gns-reader-app.jar
|
||||||
|
WORKDIR /data
|
||||||
|
EXPOSE 8081
|
||||||
|
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS gns-reader-app.jar"]
|
|
@ -92,6 +92,61 @@ services:
|
||||||
- gitlink_network
|
- gitlink_network
|
||||||
|
|
||||||
|
|
||||||
|
gitlink-reader:
|
||||||
|
container_name: ${GNS_READER_CONTAINER_NAME}
|
||||||
|
hostname: gitlink_reader
|
||||||
|
image: gitlink/gns-reader:${GITLINK_NOTIFICATION_SYS_VERSION}
|
||||||
|
build:
|
||||||
|
context: ../
|
||||||
|
dockerfile: middleware/reader.Dockerfile
|
||||||
|
networks:
|
||||||
|
- gitlink_network
|
||||||
|
volumes:
|
||||||
|
- ${DOCKER_DATA_PATH}/logs/:/data/logs/
|
||||||
|
depends_on:
|
||||||
|
- kafka1
|
||||||
|
- kafka2
|
||||||
|
- redis
|
||||||
|
- mysql
|
||||||
|
ports:
|
||||||
|
- ${GNS_READER_LOCAL_PORT}:8081
|
||||||
|
|
||||||
|
gitlink-writer:
|
||||||
|
container_name: ${GNS_WRITER_CONTAINER_NAME}
|
||||||
|
hostname: gitlink_writer
|
||||||
|
image: gitlink/gns-writer:${GITLINK_NOTIFICATION_SYS_VERSION}
|
||||||
|
build:
|
||||||
|
context: ../
|
||||||
|
dockerfile: middleware/writer.Dockerfile
|
||||||
|
networks:
|
||||||
|
- gitlink_network
|
||||||
|
volumes:
|
||||||
|
- ${DOCKER_DATA_PATH}/logs/:/data/logs/
|
||||||
|
depends_on:
|
||||||
|
- kafka1
|
||||||
|
- kafka2
|
||||||
|
- redis
|
||||||
|
- mysql
|
||||||
|
ports:
|
||||||
|
- ${GNS_WRITER_LOCAL_PORT}:8082
|
||||||
|
|
||||||
|
gitlink-executor:
|
||||||
|
container_name: ${GNS_EXECUTOR_CONTAINER_NAME}
|
||||||
|
hostname: gitlink_executor
|
||||||
|
image: gitlink/gns-executor:${GITLINK_NOTIFICATION_SYS_VERSION}
|
||||||
|
build:
|
||||||
|
context: ../
|
||||||
|
dockerfile: middleware/executor.Dockerfile
|
||||||
|
networks:
|
||||||
|
- gitlink_network
|
||||||
|
volumes:
|
||||||
|
- ${DOCKER_DATA_PATH}/logs/:/data/logs/
|
||||||
|
depends_on:
|
||||||
|
- kafka1
|
||||||
|
- kafka2
|
||||||
|
ports:
|
||||||
|
- ${GNS_EXECUTOR_LOCAL_PORT}:8083
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
gitlink_network:
|
gitlink_network:
|
||||||
driver: bridge
|
driver: bridge
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
docker-compose -f services.yml up
|
mvn -f ../pom.xml clean package -DskipTests
|
||||||
|
docker-compose -f services.yml up --build --force-recreate
|
|
@ -0,0 +1,13 @@
|
||||||
|
|
||||||
|
# Dockerfile for gns-writer.jar
|
||||||
|
|
||||||
|
#FROM maven:3.8.2-openjdk-11-slim AS build
|
||||||
|
#COPY . /data
|
||||||
|
#WORKDIR /data
|
||||||
|
#RUN mvn clean package -DskipTests
|
||||||
|
|
||||||
|
FROM openjdk:11.0.12-jre-slim
|
||||||
|
COPY writer/target/gns-writer-1.0.0.jar /data/gns-writer-app.jar
|
||||||
|
WORKDIR /data
|
||||||
|
EXPOSE 8082
|
||||||
|
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS gns-writer-app.jar"]
|
|
@ -29,7 +29,7 @@ spring:
|
||||||
|
|
||||||
kafka:
|
kafka:
|
||||||
producer:
|
producer:
|
||||||
bootstrap_servers: localhost:29092
|
bootstrap_servers: localhost:29092,localhost:39092
|
||||||
client_id: gitlink_producer_01
|
client_id: gitlink_producer_01
|
||||||
retries: 5
|
retries: 5
|
||||||
batch_size: 16384
|
batch_size: 16384
|
|
@ -7,7 +7,7 @@ logging:
|
||||||
spring:
|
spring:
|
||||||
kafka:
|
kafka:
|
||||||
producer:
|
producer:
|
||||||
bootstrap_servers: localhost:29092
|
bootstrap_servers: localhost:29092,localhost:39092
|
||||||
client_id: gitlink_producer_01
|
client_id: gitlink_producer_01
|
||||||
retries: 5
|
retries: 5
|
||||||
batch_size: 16384
|
batch_size: 16384
|
Loading…
Reference in New Issue