Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

จัดการ Spring boot application ด้วย Docker

$
0
0

จากบทความเรื่อง การวางโครงสร้างระบบด้วย Spring boot ก็มีถึงกระบวนการ deploy กันบ้าง ซึ่งเลือกที่จะจัดการผ่าน Docker โดยสิ่งที่คิดไว้จะมี 2 container คือ
  1. สำหรับ Database ซึ่งคือ MariaDB
  2. สำหรับการ run ระบบด้วย Spring boot
ดังนั้นมาลงมือทำกันหน่อย เพื่อทำให้กระบวนการพัฒนาและ deploy มันสะดวกสบายมากขึ้น แน่นอนว่า สนุกสนานกันอย่างแน่นอน
ปล. ก่อนที่จะมาใช้ Docker นั้น ขอแนะนำให้ทำการติดตั้งและ configuration แบบปกติให้ได้ก่อนนะครับ ถ้าทำไม่ได้อย่าเพิ่งนำ Docker มาใช้นะ มิเช่นนั้น มันจะงงไปกันใหญ่
มาเริ่มกันเลย

Container ที่ 1 คือ MariaDB

ซึ่งทำการสร้าง container จาก image ของ MariaDB ที่ Docker Hub การสร้าง container สำหรับ MariaDB นั้น สามารถกำหนดได้ง่าย ๆ เหมือนกับ MySQL เลย ดังนี้ [gist id="5ba4a46f5fb1cc37f504ac54aebe6666" file="1.txt"] คำอธิบาย container ชื่อว่า demo กำหนด password ของ root และสร้าง username สำหรับเข้าใช้

Container ที่ 2 คือ Spring boot application ของเรานั่นเอง

ซึ่งมีวิธีการหลายแบบตามความชอบ แต่วิธีการที่เลือกใช้คือ Docker maven plug-in เพราะว่าใช้งาน Apache Maven ในการพัฒนาอยู่แล้ว จะทำการสร้าง image ของระบบงานมาให้ จากนั้นจึงทำการสร้าง container จาก image นี้นั่นเอง วิธีการก็ไม่ยากดังนี้ 1. ทำการเลือก based image ของ Java และสร้าง Dockerfile สำหรับการเพิ่มไฟล์ JAR ของ Spring boot application ชื่อว่า demo-api.jar เข้าไป [gist id="5ba4a46f5fb1cc37f504ac54aebe6666" file="Dockerfile"] 2. เพิ่มขั้นตอนการ build image ใน Apache Maven [gist id="5ba4a46f5fb1cc37f504ac54aebe6666" file="pom.xml"] 3. ทำการ build และสร้าง image ผ่าน Apache Maven ด้วยคำสั่ง [code] $mvn clean package docker:build [/code] ผลที่ได้คือ image นั่นเอง โดยจากตัวอย่างนั้น image ชื่อว่า demo/rest 4. ทำการสร้าง container จาก image จากข้อ 3 สิ่งที่สำคัญก็คือ กำหนด link ไปยัง container ของ MariaDB ด้วย และกำหนด port สำหรับเข้าใช้งานซะนั่นคือ 8080 [gist id="5ba4a46f5fb1cc37f504ac54aebe6666" file="2.txt"] เพียงเท่านี้ก็สามารถสร้าง container ที่เราต้องการขึ้นมาอย่างง่ายดาย และสามารถทำขั้นตอนเหล่านี้ซ้ำแล้วซ้ำเล่าได้เท่าที่ต้องการ ชีวิตของการพัฒนาระบบน่าจะดีขึ้นและสนุกมากขึ้นไปอีกนะ !! หรือถ้าชอบใช้ Docker compose สามารถ config ได้ดังนี้ [gist id="5ba4a46f5fb1cc37f504ac54aebe6666" file="docker-compose.yml"] Reference websites https://spring.io/guides/gs/spring-boot-docker/

Viewing all articles
Browse latest Browse all 1997

Trending Articles