Dockerisering av Spring Boot-applikasjoner
Konteineriser Spring Boot-applikasjonen ved hjelp av Docker for konsistente og portable utrullinger.
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.jarDockerfile: 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:latestKjø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+CKontroller 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!
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
- Dockerisering av Spring Boot-applikasjoner
- Overvåking med Spring Boot Actuator
- Strategier for utrulling i skyen
- Bygging av CI/CD-pipelines for Spring Boot