+4

Deploy Spring Boot Application Development Docker Window 10

Đây có lẽ là một chủ đề không còn xa lạ gì với những bạn dev có kinh nghiệm chinh chiến lão làng lâu năm rồi "Đúng nhận sai cãi". Tuy nhiên, với những bạn Intern và Fresher thì nó lại là chủ đề rất cần thiết. Mình có tìm kiếm và đọc các bài viết chủ yếu các bài viết sử dụng Docker trên hệ điều hành Ubuntu/Centos chưa có nhiều các bài viết hướng dẫn chi tiết trên Window. Chính vì vậy, với bài viết này, mình sẽ hướng dẫn một cách chi tiết và cụ thể nhất dành cho các dev thường xuyên dùng Window. Bài viết này, tập trung vào phần thực hành, lý thuyết các bạn tự tìm hiểu nhá.

1. Tóm tắt nội dung

  • Hướng dẫn tạo project Spring Boot
  • Hướng dẫn cài Docker Desktop
  • Hướng dẫn triển khai trên Docker

2. Hướng dẫn tạo project Spring Boot

Đầu tiên, chúng ta cần chuẩn bị môi trường: intellij, maven, jdk. (Intellij IDEA 2020.2.1, Maven 3.8.1, jdk 17). Tiếp theo, có nhiều cách để tạo project Spring Boot như: Spring Initializr hoặc tạo Project trong Intellij IDEA. Có một cách cho các bạn lười như tôi là download source code Sau khi tạo được project, kiểm tra Project Structure (trỏ vào thư mục source code, dùng command tree) image.png

Trong đó, file SpringBootDockerApplication.java tạo ra một API đơn giản hiển thị “Hello World!”

package com.example.springbootdocker;
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;

@RestController
@SpringBootApplication
public class SpringBootDockerApplication {

    @RequestMapping("/")
    public String home() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(SpringBootDockerApplication.class, args);
    }
}

Dùng câu lệnh để đóng gói ra file JAR command ./mvnw package image.png

Hoặc dùng tool Intellij IDEA -> Maven -> Lifecycle -> clearn -> install image.png

Sau khi build thành công file JAR, chỉ cần chạy file JAR java -jar target/spring-boot-docker-0.0.1-SNAPSHOT.jar. Trong đó: spring-boot-docker-0.0.1-SNAPSHOT.jar là tên file JAR build xong, target là thư mục chứa file JAR image.png

3. Hướng dẫn cài Docker Desktop

Download Docker Desktop lựa chọn đúng phiên bản cho hệ điều hành Windown Để cài Docker Desktop, những thao tác rất đơn giản chỉ có "next" và "next". Không còn nhấn "next" được nữa, màn hình sẽ hiển thị Docker Destop image.png

Nếu mà vẫn loay hoay không biết cài như thế nào, bạn có thể tham khảo bài viết này nhé!

4. Hướng dẫn triển khai trên Docker

Thực hiện các bước trên không có khó khăn gì với các thím chứ? Nếu không có vấn đề gì, chúng ta đi tiếp vào phần quan trọng nhất của bài viết này thôi nào các bạn ơiiiii Source code project Spring Boot, trong đó có file Dockerfile

FROM eclipse-temurin:17-jdk-focal
WORKDIR /app
COPY .mvn/ .mvn
COPY mvnw pom.xml ./
RUN ./mvnw dependency:go-offline
COPY src ./src
CMD ["./mvnw", "spring-boot:run"]

Trong đó,

  • FROM eclipse-temurin:17-jdk-focal : dùng thư viện jdk 17, Eclipse Temurin cung cấp code và quy trình hỗ trợ xây dựng các tệp nhị phân time runing.
  • WORKDIR /app: tạo một thư mục để chứa code ứng dụng của hình ảnh project.
  • COPY .mvn/ ./mvn: Copy thư viện Maven từ máy local đến container image .
  • COPY mvnw pom.xml ./ Copy file pom từ máy local đến container image.
  • RUN ./mvnw dependency:go-offline RUN kích hoạt tất cả project.
  • COPY src ./src Copy thư mục src từ local lên môi trường docker
  • CMD ["./mvnw", "spring-boot:run"] Chạy câu lệnh Docker biên dịch và chạy app package

Tiếp theo, cần build lên Docker Image. Câu lệnh docker build -f Dockerfile -t spring-boot . image.png

Sau khi build lên Docker Image xong, kiểm tra trên Docker Desktop -> Images -> hiển thị Name "spring-boot" đúng như tên đã đặt image.png

Ngoài ra, các thím có thể đẩy trực tiếp hình ảnh của mình lên Docker Hub để dễ dàng chia sẻ. Action -> Push to Hub image.png

Đặt tên Container Name -> Nhấn button "Run". Hiển thị thông tin Containers image.png

Các thím xem Logs chạy nhé image.png

Docker Dashboard’s tab Stats, dễ dàng kiểm tra các thông tin CPU, Memory, Disk Read/Wirte, Network I/O image.png

5. Tổng kết

Chúng ta đã học được cách triển khai dựng project spring boot đơn giản deploy với docker trên hệ điều hành Window 10 một cách đơn giản, các nội dung chia sẻ chỉ liên quan đến hình ảnh rất trực quan và rõ ràng. Các thím có thắc mắc hãy comment bình luận bên dưới nhá. Bài tiếp theo, sẽ là một chủ đề nối chuỗi bài viết Spring Boot deploy Docker. Mời các bạn ghé thăm.


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí