Komplett guide til Spring Boot 4 · leksjon

Dockerisering av Spring Boot-applikasjoner

Konteineriser Spring Boot-applikasjonen ved hjelp av Docker for konsistente og portable utrullinger.

Leksjon 1 av 411 trinn

Dockerisering av Spring Boot-applikasjoner er en gratis leksjon i Komplett guide til Spring Boot 4 på CoddyKit. Dette er leksjon 1 av 4. Du kan lese valgfritt 3 leksjoner fra denne læringsstien gratis i sin helhet – deretter låser CoddyKit PRO opp alle leksjoner, samt praktisk øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Komplett guide til Spring Boot 4, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.

Hvorfor containerisere Spring Boot?

Velkommen til containerisering av Spring Boot! Vi skal lære hvordan De pakker Spring Boot-applikasjonene Deres i Docker-containere.

Docker gjør det mulig å pakke applikasjoner og avhengighetene deres i en standardisert enhet kalt en container. Dette sikrer at applikasjonen kjører konsekvent i ulike miljøer.

Containere kontra virtuelle maskiner

De kjenner kanskje til virtuelle maskiner (VM-er), men containere er annerledes:

  • VM-er: Emulerer et helt operativsystem, inkludert kjernen. De er tunge og bruker lengre tid på å starte.
  • Containere: Deler vertens OS-kjerne og pakker bare applikasjonen, bibliotekene og avhengighetene. De er lette, raske og ressursbesparende.

Dette gjør containere ideelle for mikrotjenester og skydistribusjoner.

Docker-avbildninger og containere

La oss klargjøre to sentrale Docker-konsepter:

  • Docker-avbildning: En skrivebeskyttet mal med instruksjoner for å opprette en Docker-container. Tenk på den som en tegning for applikasjonen Deres.
  • Docker-container: En kjørbar instans av en Docker-avbildning. Det er selve applikasjonen som kjører i sitt isolerte miljø.

Introduksjon til Dockerfile

En Dockerfile er en tekstfil som inneholder alle kommandoene som trengs for å bygge en Docker-avbildning. Den fungerer som en oppskrift på applikasjonens container.

Hver kommando i en Dockerfile oppretter et nytt lag i avbildningen, noe som gjør byggingene effektive.

Deres Spring Boot-JAR

Før containerisering må Spring Boot-applikasjonen Deres pakkes som en kjørbar JAR-fil. Dette gjøres vanligvis ved hjelp av `mvn package` i Maven eller `gradle bootJar` i Gradle.

Her er en minimal struktur for en Spring Boot-applikasjon:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@RestController
public class DockerDemoApp {

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

    @GetMapping("/")
    public String home() {
        return "Hello from Dockerized Spring Boot!";
    }
}

Dockerfile: Basisavbildning og kopiering

La oss begynne å bygge Dockerfile-filen vår. Først definerer vi basisavbildningen og kopierer program-JAR-filen vår.

  • FROM: Angir basisavbildningen (for eksempel et OpenJDK-kjøremiljø).
  • ARG: Definerer en variabel som brukes under byggingen.
  • COPY: Kopierer filer fra prosjektet ditt inn i avbildningen.
FROM openjdk:17-jdk-slim
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar

Dockerfile: Eksponer og start

Deretter angir vi hvilken port programmet lytter på, og hvordan det skal startes.

  • EXPOSE: Informerer Docker om at containeren lytter på de angitte nettverksportene under kjøring.
  • ENTRYPOINT: Angir kommandoen som kjøres når en container starter.
FROM openjdk:17-jdk-slim
ARG JAR_FILE=target/*.jar
COPY ${JAR_FILE} app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "app.jar"]

Bygg Docker-avbildningen din

Når Dockerfile-filen er opprettet og Spring Boot-appen er pakket som app.jar (for eksempel i en target/-mappe), kan du bygge Docker-avbildningen.

-t-flagget merker avbildningen med et navn og eventuelt en versjon.

# Make sure you are in the directory containing your Dockerfile and target/app.jar
docker build -t my-spring-app .

# Example output:
# [+] Building 0.1s (9/9) FINISHED
# ...
# Successfully tagged my-spring-app:latest

Kjør Docker-containeren din

Når avbildningen er bygget, kan du kjøre den som en container. -p-flagget kobler en port på vertsmaskinen din til en port inne i containeren.

Åpne nå Spring Boot-applikasjonen i nettleseren på http://localhost:8080!

docker run -p 8080:8080 my-spring-app

# To stop the container, find its ID with 'docker ps' and then 'docker stop <ID>'
# Or, if running in foreground, use Ctrl+C

Kontroller Dockerfile-kommandoer

Test kunnskapene dine om Dockerfile-kommandoer. Velg alle påstandene som beskriver kommandoen riktig.

Oppsummering: Dockerisering av Spring Boot

Godt jobbet! Du har lært det grunnleggende om å dockerisere Spring Boot-applikasjoner.

  • Docker tilbyr konsistente og portable miljøer.
  • En Dockerfile brukes til å bygge et Docker Image.
  • Avbildningen kjøres deretter som en isolert Docker Container.
  • Viktige kommandoer: FROM, COPY, EXPOSE, ENTRYPOINT, docker build, docker run.

Denne ferdigheten er avgjørende for moderne cloud-native-distribusjoner!

Gratis å komme i gang

Lær deg Java med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
21
Leksjoner
84

Ofte stilte spørsmål

Er leksjonen «Dockerisering av Spring Boot-applikasjoner» gratis?

Ja – du kan lese valgfritt 3 av leksjonene i læringsstien Komplett guide til Spring Boot 4, inkludert «Dockerisering av Spring Boot-applikasjoner», gratis i sin helhet her på nettet. Deretter låser CoddyKit PRO opp alle leksjoner, samt interaktiv øving med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Kurset i Komplett guide til Spring Boot 4 inneholder totalt 4 leksjoner.

Hva lærer jeg i «Dockerisering av Spring Boot-applikasjoner»?

Konteineriser Spring Boot-applikasjonen ved hjelp av Docker for konsistente og portable utrullinger. Du øver på Komplett guide til Spring Boot 4 med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Komplett guide til Spring Boot 4?

Ingen tidligere erfaring er nødvendig. Komplett guide til Spring Boot 4 på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Dockerisering av Spring Boot-applikasjoner»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Komplett guide til Spring Boot 4-leksjonen?

Ja. Alle Komplett guide til Spring Boot 4-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Dockerisering av Spring Boot-applikasjoner
  2. Overvåking med Spring Boot Actuator
  3. Strategier for utrulling i skyen
  4. Bygging av CI/CD-pipelines for Spring Boot
← Tilbake til Komplett guide til Spring Boot 4