From 2b11f55bab2d3975dddf71a8c49991fc630abe3f Mon Sep 17 00:00:00 2001 From: vladp Date: Sun, 23 Nov 2025 23:25:58 +0700 Subject: [PATCH] NCP-1 add docker-compose.yaml,dockerfile and application.yaml --- Dockerfile | 18 ++++++++++ docker-compose.yaml | 52 +++++++++++++++++++++++++++++ src/main/resources/application.yaml | 21 ++++++++++-- 3 files changed, 88 insertions(+), 3 deletions(-) create mode 100644 Dockerfile create mode 100644 docker-compose.yaml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e8b06f0 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,18 @@ +FROM mcr.microsoft.com/openjdk/jdk:17.0.13-ubuntu + +WORKDIR /app + +COPY build/libs/app.jar /app/app.jar + +ENV SERVER_PORT=8080 +ENV DB_HOST=mysql +ENV DB_PORT=3306 +ENV DB_NAME=no-copy-db +ENV DB_USERNAME=mysql_user +ENV DB_PASSWORD=mysql_pass +ENV REDIS_HOST=redis +ENV REDIS_PORT=6379 + +EXPOSE 8080 + +ENTRYPOINT ["java", "-jar", "/app/app.jar"] diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..c875d80 --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,52 @@ +version: "3.8" + +services: + mysql: + image: mysql:8.1 + container_name: no-copy-mysql-db + environment: + MYSQL_ROOT_PASSWORD: root_pass + MYSQL_DATABASE: no-copy-db + MYSQL_USER: mysql_user + MYSQL_PASSWORD: mysql_pass + ports: + - "3306:3306" + volumes: + - mysql_data:/var/lib/mysql + networks: + - app-network + command: --default-authentication-plugin=mysql_native_password + + redis: + image: redis:7 + container_name: no-copy-redis + ports: + - "6379:6379" + networks: + - app-network + + no-copy: + build: . + container_name: no-copy-service + ports: + - "8080:8080" + environment: + DB_HOST: mysql + DB_PORT: 3306 + DB_NAME: no-copy-db + DB_USERNAME: mysql_user + DB_PASSWORD: mysql_pass + SERVER_PORT: 8080 + REDIS_HOST: redis + REDIS_PORT: 6379 + depends_on: + - mysql + - redis + networks: + - app-network + +volumes: + mysql_data: + +networks: + app-network: diff --git a/src/main/resources/application.yaml b/src/main/resources/application.yaml index cd9d05a..bb04d87 100644 --- a/src/main/resources/application.yaml +++ b/src/main/resources/application.yaml @@ -1,3 +1,18 @@ -пspring: - application: - name: no-copy +spring: + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://${DB_HOST:localhost}:${DB_PORT:3306}/${DB_NAME:no-copy-db}?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC + username: ${DB_USERNAME:mysql_user} + password: ${DB_PASSWORD:mysql_pass} + + jpa: + hibernate: + ddl-auto: update + show-sql: true + +server: + port: ${SERVER_PORT:8080} + +logging: + level: + root: INFO