Docker × Spring Boot 환경 구축
8018 단어 docker-compose도커자바spring-boot
Docker × Spring Boot 환경 구축
개요
Docker를 사용하여 Spring Boot 환경을 구축합니다.
동작 확인으로 Hello World를 브라우저에 표시합니다.
환경
구성
최종적으로는 다음과 같은 구성이 됩니다.
├── docker-compose.yml
└── server
├── HELP.md
├── build
│ ├── classes
│ │ └── java
│ │ ├── main
│ │ │ └── com
│ │ │ └── example
│ │ │ └── api
│ │ │ └── ApiApplication.class
│ │ └── test
│ │ └── com
│ │ └── example
│ │ └── api
│ │ └── ApiApplicationTests.class
│ ├── generated
│ │ └── sources
│ │ ├── annotationProcessor
│ │ │ └── java
│ │ │ ├── main
│ │ │ └── test
│ │ └── headers
│ │ └── java
│ │ ├── main
│ │ └── test
│ ├── libs
│ │ └── api-0.0.1-SNAPSHOT.jar
│ ├── reports
│ │ └── tests
│ │ └── test
│ │ ├── classes
│ │ │ └── com.example.api.ApiApplicationTests.html
│ │ ├── css
│ │ │ ├── base-style.css
│ │ │ └── style.css
│ │ ├── index.html
│ │ ├── js
│ │ │ └── report.js
│ │ └── packages
│ │ └── com.example.api.html
│ ├── resources
│ │ └── main
│ │ ├── application.properties
│ │ ├── static
│ │ └── templates
│ ├── test-results
│ │ └── test
│ │ ├── TEST-com.example.api.ApiApplicationTests.xml
│ │ └── binary
│ │ ├── output.bin
│ │ ├── output.bin.idx
│ │ └── results.bin
│ └── tmp
│ ├── bootJar
│ │ └── MANIFEST.MF
│ ├── compileJava
│ └── compileTestJava
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── settings.gradle
└── src
├── main
│ ├── java
│ │ └── com
│ │ └── example
│ │ └── api
│ │ └── ApiApplication.java
│ └── resources
│ ├── application.properties
│ ├── static
│ └── templates
└── test
└── java
└── com
└── example
└── api
└── ApiApplicationTests.java
절차
1. docker-compose.yml 만들기
이번에는 java 컨테이너 하나만의 간단한 구성입니다.
docker-compose.yml
version: '3.6'
services:
java:
image: openjdk:14-slim
ports:
- 8080:8080
tty: true
volumes:
- ./server:/srv:cached
working_dir: /srv
2. Gradle 프로젝트 생성
2.1 spring initializr에서 Gradle 프로젝트의 병아리 만들기
2.2 Gradle 프로젝트의 병아리 다운로드
2.3 프로젝트에 배포
프로젝트 디렉터리 바로 아래에
server
디렉터리를 만듭니다.2.2에서 다운로드한
api.zip
를 확장하고 내용을 server
바로 아래로 옮깁니다.3. 애플리케이션 파일 편집
server/src/main/java/com/example/api/ApiApplication.java
를 다음과 같이 편집합니다.server/src/main/java/com/example/api/ApiApplication.java
package com.example.api;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@SpringBootApplication
@RestController
public class ApiApplication {
@RequestMapping("/")
public String home() {
return "Hello World";
}
public static void main(String[] args) {
SpringApplication.run(ApiApplication.class, args);
}
}
4. Docker 시작
// docker環境ビルド
% docker-compose build
// dockerをバックグラウンドで起動
% docker-compose up -d
5. Gradle 빌드
// javaコンテナにインスペクション
% docker-compose exec java bash
// gradleビルド
root@62acca270468:/srv# sh gradlew build
...
BUILD SUCCESSFUL in 1m 38s
5 actionable tasks: 3 executed, 2 up-to-date
server
바로 아래에 build
디렉토리가 있는지 확인하십시오.6. 애플리케이션 실행
root@62acca270468:/srv# java -jar build/libs/api-0.0.1-SNAPSHOT.jar
7. 동작 확인
http://localhost-8080.com/로 이동합니다.
Hello World
가 표시되면 성공입니다.참고
Reference
이 문제에 관하여(Docker × Spring Boot 환경 구축), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/A-Kira/items/beaf79a0d39d9839e61e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)