🚀 Docker compose edu test

This commit is contained in:
kimjaeyeol
2021-10-27 15:17:34 +09:00
parent fcceafde0f
commit 5dce245521
24 changed files with 79 additions and 54 deletions

View File

@@ -1,6 +1,7 @@
# openjdk8 base image
FROM openjdk:8-jre-alpine
# directory 생성
RUN mkdir -p /usr/app/msa-attach-volume/messages
# jar 파일이 복사되는 위치
ENV APP_HOME=/usr/app/

View File

@@ -2,5 +2,4 @@ spring:
cloud:
config:
uri: http://localhost:8888
name: application
enabled: true
name: application

View File

@@ -15,7 +15,7 @@
</springProfile>
<springProfile name="!default">
<!-- java -Ddestination="localhost:5001" 와 같이 변경할 수 있다. cf 환경에서는 manifest.yml 파일에 환경변수로 추가 -->
<property name="destination" value="${destination:-localhost:5001}" />
<property name="destination" value="${logstash_hostname:-localhost:5001}" />
<property name="app_name" value="${app_name:-apigateway}" />
<!-- ELK - Logstash 로 로그를 전송하기 위한 appender -->

View File

@@ -1,6 +1,8 @@
# openjdk8 base image
FROM openjdk:8-jre-alpine
# directory 생성
RUN mkdir -p /usr/app/msa-attach-volume/messages
# jar 파일이 복사되는 위치
ENV APP_HOME=/usr/app/
# 작업 시작 위치

View File

@@ -15,7 +15,7 @@
</springProfile>
<springProfile name="!default">
<!-- java -Ddestination="localhost:5001" 와 같이 변경할 수 있다. cf 환경에서는 manifest.yml 파일에 환경변수로 추가 -->
<property name="destination" value="${destination:-localhost:5001}" />
<property name="destination" value="${logstash_hostname:-localhost:5001}" />
<property name="app_name" value="${app_name:-board-service}" />
<!-- ELK - Logstash 로 로그를 전송하기 위한 appender -->

View File

@@ -1,6 +1,9 @@
# docker run --name egov-config -d -p 8888:8888 -e profile=prod -e ENCRYPT_KEY=??? egovframework/egov-config
# base image - openjdk8
FROM openjdk:8-jre-alpine
# directory 생성
RUN mkdir -p /usr/app/config
# jar 파일이 복사되는 위치
ENV APP_HOME=/usr/app/
# 작업 시작 위치
@@ -10,4 +13,4 @@ COPY build/libs/*.jar config.jar
# application port
EXPOSE 8888
# 실행
CMD ["java", "-Dspring.profiles.active=${profile:native}", "-jar", "config.jar"]
CMD ["java", "-Dsearch.location=/usr/app/config", "-jar", "config.jar"]

View File

@@ -10,7 +10,8 @@ spring:
config:
server:
native:
search-locations: file:///usr/app/config # docker
search-locations: ${search.location:file:///${user.home}/workspace.edu/egovframe-msa-edu/config} # Windows
# search-locations: file://${user.home}/workspace.edu/egovframe-msa-edu/config # MacOS
rabbitmq:
host: localhost
port: 5672

View File

@@ -1,2 +1,2 @@
encrypt:
key: egovframe # 대칭키 임의의 값
key: egovframe # 대칭키 임의의 값

View File

@@ -14,8 +14,8 @@
</root>
</springProfile>
<springProfile name="!native">
<!-- java -Ddestination="localhost:5001" 와 같이 변경할 수 있다. cf 환경에서는 manifest.yml 파일에 환경변수로 추가 -->
<property name="destination" value="${destination:-localhost:5001}" />
<!-- java -Dlogstash_hostname="localhost:5001" 와 같이 변경할 수 있다. cf 환경에서는 manifest.yml 파일에 환경변수로 추가 -->
<property name="destination" value="${logstash_hostname:-localhost:5001}" />
<property name="app_name" value="${app_name:-config-server}" />
<!-- ELK - Logstash 로 로그를 전송하기 위한 appender -->

View File

@@ -1,6 +1,8 @@
# openjdk8 base image
FROM openjdk:8-jre-alpine
# directory 생성
RUN mkdir -p /usr/app/msa-attach-volume/messages
# jar 파일이 복사되는 위치
ENV APP_HOME=/usr/app/
# 작업 시작 위치

View File

@@ -15,7 +15,7 @@
</springProfile>
<springProfile name="!default">
<!-- java -Ddestination="localhost:5001" 와 같이 변경할 수 있다. cf 환경에서는 manifest.yml 파일에 환경변수로 추가 -->
<property name="destination" value="${destination:-localhost:5001}" />
<property name="destination" value="${logstash_hostname:-localhost:5001}" />
<property name="app_name" value="${app_name:-portal-service}" />
<!-- ELK - Logstash 로 로그를 전송하기 위한 appender -->

View File

@@ -1,7 +1,8 @@
# openjdk8 base image
FROM openjdk:8-jre-alpine
RUN mkdir -p /usr/app/msa-attach-volume
# directory 생성
RUN mkdir -p /usr/app/msa-attach-volume/messages
# jar 파일이 복사되는 위치
ENV APP_HOME=/usr/app/
# 작업 시작 위치

View File

@@ -15,7 +15,7 @@
</springProfile>
<springProfile name="!default">
<!-- java -Ddestination="localhost:5001" 와 같이 변경할 수 있다. cf 환경에서는 manifest.yml 파일에 환경변수로 추가 -->
<property name="destination" value="${destination:-localhost:5001}" />
<property name="destination" value="${logstash_hostname:-localhost:5001}" />
<property name="app_name" value="${app_name:-user-service}" />
<!-- ELK - Logstash 로 로그를 전송하기 위한 appender -->

View File

@@ -16,12 +16,10 @@ eureka:
# file attach location - messages{lang}.properties 도 이 경로에 위치한다.
file:
directory: ${user.home}/msa-attach-volume # url 사용시에는 사용되지 않는다
directory: ${app.home:${user.home}}/msa-attach-volume # url 사용시에는 사용되지 않는다
url: http://localhost:8080 # nginx 로 파일 다운로드 처리
messages:
directory: ${file.directory}/messages
logstash:
url: localhost:8086
apigateway:
host: http://localhost:${server.port}
@@ -29,12 +27,12 @@ apigateway:
# rabbitmq server
spring:
rabbitmq:
host: localhost
host: ${rabbitmq.hostname:${localhost}}
port: 5672
username: guest
password: guest
zipkin:
base-url: http://localhost:8085
base-url: http://${zipkin.hostname:${localhost}}:8085
egov:
message: hello

View File

@@ -1,5 +1,5 @@
database:
url: jdbc:mysql://localhost:3306/msaportal
url: jdbc:mysql://${mysql.hostname:localhost}:3306/msaportal
spring:
datasource:

View File

@@ -1,5 +1,5 @@
database:
url: jdbc:mysql://localhost:3306/msaportal
url: jdbc:mysql://${mysql.hostname:localhost}:3306/msaportal
spring:
datasource:

View File

@@ -1,6 +1,6 @@
spring:
r2dbc:
url: r2dbc:mysql://localhost:3306/reservation?serverTimezone=Asia/Seoul
url: r2dbc:mysql://${mysql.hostname:localhost}:3306/reservation?serverTimezone=Asia/Seoul
username: msaportal
password: msaportal
cloud:

View File

@@ -1,6 +1,6 @@
spring:
r2dbc:
url: r2dbc:mysql://localhost:3306/msaportal?serverTimezone=Asia/Seoul
url: r2dbc:mysql://${mysql.hostname:localhost}:3306/msaportal?serverTimezone=Asia/Seoul
username: msaportal
password: msaportal
cloud:

View File

@@ -1,6 +1,6 @@
spring:
r2dbc:
url: r2dbc:mysql://localhost:3306/reservation?serverTimezone=Asia/Seoul
url: r2dbc:mysql://${mysql.hostname:localhost}:3306/reservation?serverTimezone=Asia/Seoul
username: msaportal
password: msaportal
cloud:

View File

@@ -1,5 +1,5 @@
database:
url: jdbc:mysql://localhost:3306/msaportal
url: jdbc:mysql://${mysql.hostname:localhost}:3306/msaportal
spring:
datasource:

View File

@@ -1,41 +1,53 @@
version: '3.8'
version: '3'
services:
egov-user-service:
container_name: egov-user-service
userservice:
container_name: userservice
image: egovframe/msa-user-service:latest
restart: always
#networks: egovnetwork
volumes:
- ${HOME}/msa-attach-volume:/usr/app/msa-attach-volume
- ${HOME}/workspace/docker-compose:/usr/app/msa-attach-volume
environment:
SPRING_CLOUD_CONFIG_URI: http://config:8888
SPRING_PROFILES_ACTIVE: default
depends_on:
- egov-apigateway
APP_HOME: /usr/app
logstash_hostname: logstash:5001
EUREKA_INSTANCE_HOSTNAME: discovery
MYSQL_HOSTNAME: mysql
RABBITMQ_HOSTNAME: rabbitmq
ZIPKIN_HOSTNAME: zipkin
TZ: Asia/Seoul
egov-board-service:
container_name: egov-board-service
boardservice:
container_name: boardservice
image: egovframe/msa-board-service:latest
restart: always
#networks: egovnetwork
volumes:
- ${HOME}/msa-attach-volume:/usr/app/msa-attach-volume
- ${HOME}/workspace:/usr/app/msa-attach-volume
environment:
SPRING_CLOUD_CONFIG_URI: http://config:8888
SPRING_PROFILES_ACTIVE: default
depends_on:
- egov-apigateway
EUREKA_INSTANCE_HOSTNAME: discovery
APP_HOME: /usr/app
logstash_hostname: logstash:5001
MYSQL_HOSTNAME: mysql
TZ: Asia/Seoul
egov-portal-service:
container_name: egov-portal-service
portalservice:
container_name: portalservice
image: egovframe/msa-portal-service:latest
restart: always
#networks: egovnetwork
volumes:
- ${HOME}/msa-attach-volume:/usr/app/msa-attach-volume
- ${HOME}/workspace:/usr/app/msa-attach-volume
environment:
SPRING_CLOUD_CONFIG_URI: http://config:8888
SPRING_PROFILES_ACTIVE: default
depends_on:
- egov-apigateway
EUREKA_INSTANCE_HOSTNAME: discovery
APP_HOME: /usr/app
logstash_hostname: logstash:5001
MYSQL_HOSTNAME: mysql
TZ: Asia/Seoul
# networks:
# egovnetwork:
# driver: bridge
networks:
default:
external:
name: egov-network

View File

@@ -10,6 +10,9 @@ services:
- ${HOME}/workspace/egovframe-msa-edu/config:/usr/app/config # volume bind
environment:
ENCRYPT_KEY: token_secret
logstash_hostname: logstash:5001
RABBITMQ_HOSTNAME: rabbitmq
ZIPKIN_HOSTNAME: zipkin
TZ: Asia/Seoul
discovery:
@@ -35,6 +38,9 @@ services:
SPRING_CLOUD_CONFIG_URI: http://config:8888
SPRING_PROFILES_ACTIVE: default
EUREKA_INSTANCE_HOSTNAME: discovery
RABBITMQ_HOSTNAME: rabbitmq
ZIPKIN_HOSTNAME: zipkin
APP_HOME: /usr/app
TZ: Asia/Seoul
depends_on:
- config

View File

@@ -14,10 +14,8 @@ services:
memlock:
soft: -1
hard: -1
networks:
- elastic
volumes:
- ${HOME}/docker-volume/elasticsearch/data:/usr/share/elasticsearch/data
- ${PWD}/data:/usr/share/elasticsearch/data
logstash:
container_name: logstash
@@ -37,8 +35,6 @@ services:
source: ${PWD}/logstash/pipeline
target: /usr/share/logstash/pipeline
read_only: true
networks:
- elastic
depends_on:
- elasticsearch
@@ -57,11 +53,10 @@ services:
source: ${PWD}/kibana/config/kibana.yml
target: /usr/share/kibana/config/kibana.yml
read_only: true
networks:
- elastic
depends_on:
- elasticsearch
networks:
elastic:
driver: bridge
default:
external:
name: egov-network

View File

@@ -17,3 +17,8 @@ services:
ports:
- "3306:3306"
container_name: mysql
networks:
default:
external:
name: egov-network