finally java banana have to use “Spring Boot”
โน้วววววววววววววววววววววววววววววววววววววววว!!!
–
พอดีไปรับ consult ทำให้ต้องยุ่งกับ สปริงบู๊ด ครับ
–
วิธีการ set up Docker กับ Spring Boot ด้วย gradle เป็น build tool มี step ดังนี้ครับ
Prerequisite: ลง Docker, gradle และ Jdk ให้เรียบร้อย
Refer: https://spring.io/guides/gs/spring-boot-docker/
1) clone template ของ Project มาก่อน
$> git clone https://github.com/spring-guides/gs-spring-boot-docker.git
2) เข้าไปที่ folder initial จาก $Project_Home
$> cd into gs-spring-boot-docker/initial
3) แก้ไขไฟล์ src/main/java/hello/Application.java ดังนี้
package hello;
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 Application {
@RequestMapping("/")
public String home() {
return "Hello Docker World";
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
4) แก้ไขไฟล์ src/main/docker/Dockerfile ดังนี้
FROM frolvlad/alpine-oraclejdk8:slim
VOLUME /tmp
ADD gs-spring-boot-docker-0.1.0.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
5) แก้ไฟล์ build.gradle โดยเพิ่มไปดังนี้
buildscript {
// config เดิม
dependencies {
// config เดิม
classpath('se.transmode.gradle:gradle-docker:1.2')
}
}
group = 'springio'
// config เดิม
apply plugin: 'docker'
task buildDocker(type: Docker, dependsOn: build) {
push = true
applicationName = jar.baseName
dockerfile = file('src/main/docker/Dockerfile')
doFirst {
copy {
from jar
into stageDir
}
}
}
สุดท้ายแล้วจะได้ไฟล์ build.gradle หน้าตาดังนี้
6) run สำหรับ build jar package
$> gradle build && java -jar build/libs/gs-spring-boot-docker-0.1.0.jar
7) run คำสั่ง build
$> gradle build buildDocker
*** run แล้วมันจะพัง ต้องเปลี่ยน group เป็นชื่อ dockerhub ของเรา (ถ้าไม่มีก็สมัครที่ https://hub.docker.com ) อย่างของผมเปลี่ยนเป็น champillon ดังรูปด้านบน***
8) run docker
$> docker run -p 8080:8080 -t springio/gs-spring-boot-docker
9) ลองเข้าไปเล่นดู