Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät · Oppitunti

Spring Boot -sovellusten Dockerisointi

Luokaa Dockerfile-tiedostoja Spring Boot -sovellustenne paketoimiseksi kevyiksi ja siirrettäviksi säilöiksi.

Oppitunti 1/312 vaihetta

Spring Boot -sovellusten Dockerisointi on ilmainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti CoddyKitissä. Tämä on oppitunti 1/3. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 3 oppituntia.

Miksi Spring Boot kannattaa kontittaa?

Tervetuloa Spring Boot -sovellusten kontittamiseen! Docker auttaa paketoimaan sovelluksen vakiomuotoiseksi yksiköksi, jota kutsutaan kontiksi.

Miksi tämä sopii hyvin Spring Bootille?

  • Siirrettävyys: Voitte suorittaa sovelluksen yhdenmukaisesti missä tahansa, missä Docker toimii.
  • Eristys: Sovellus ja sen riippuvuudet paketoidaan yhteen, mikä ehkäisee ristiriitoja.
  • Yhdenmukaisuus: Kehityksessä ja tuotannossa käytettävä ympäristö on sama.

Dockerin perusteet sovelluksille

Ennen kuin perehdymme aiheeseen, määritellään lyhyesti keskeiset Docker-termit:

  • Vedos: Kevyt, itsenäinen ja suoritettava paketti, joka sisältää kaiken ohjelmiston osan suorittamiseen tarvittavan, kuten koodin, suoritusympäristön, kirjastot, ympäristömuuttujat ja asetustiedostot. Ajatelkaa sitä suunnitelmana.
  • Kontti: Vedoksesta suoritettava ilmentymä. Voitte luoda, käynnistää, pysäyttää, siirtää tai poistaa kontin. Se on sovelluksen tosiasiallisesti suoritettava ilmentymä.
  • Dockerfile: Tekstitiedosto, joka sisältää kaikki komennot järjestyksessä tietyn vedoksen rakentamista varten.

Esimerkkimme Spring Boot -sovellus

Oletetaan, että meillä on yksinkertainen Spring Boot -sovellus. Kun rakennamme sen, tuloksena on yleensä yksi suoritettava JAR-tiedosto (esimerkiksi my-app.jar).

Tässä on Spring Boot -sovelluksen perusrakenne:

package com.coddykit.docker;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class DockerApp {

  public static void main(String[] args) {
    SpringApplication.run(DockerApp.class, args);
    // This will print to the container's standard output
    System.out.println("Spring Boot app started inside Docker!");
  }
}

Dockerfilen esittely

Dockerfile on ohjeita sisältävä komentosarja, jota Docker käyttää vedoksen rakentamiseen. Se on kuin ohje sovellusympäristön kontin luomiseen.

Luomme Spring Boot -projektimme juurihakemistoon tiedoston nimeltä Dockerfile (ilman tiedostopäätettä). Jokainen Dockerfilen rivi on ohje.

Perusvedoksen valitseminen (FROM)

Jokainen Dockerfile alkaa FROM-ohjeella. Se määrittää perusvedoksen, jonka päälle sovellus rakennetaan. Java-sovelluksissa yleinen valinta on OpenJDK-vedos.

openjdk:17-jdk-slim tarjoaa Java 17 -kehityspaketin (JDK) ohuena ja pienempänä vedoksena, mikä sopii hyvin tuotantokäyttöön.

FROM openjdk:17-jdk-slim

Sovelluksen kopioiminen (COPY)

Seuraavaksi käännetty Spring Boot -JAR-tiedosto on saatava Docker-vedokseen. COPY-ohje tekee juuri tämän.

Jos rakennettu JAR-tiedosto on sijainnissa target/my-app.jar, kopioimme sen vedoksen juurihakemistoon ja nimeämme sen yksinkertaisuuden vuoksi uudelleen nimellä app.jar.

COPY target/my-app.jar app.jar

Porttien avaaminen (EXPOSE)

Spring Boot -sovellukset suoritetaan yleensä tietyssä portissa, usein portissa 8080. EXPOSE-ohje ilmoittaa Dockerille, että kontti kuuntelee määritettyjä verkkoportteja suorituksen aikana.

EXPOSE ei kuitenkaan julkaise porttia varsinaisesti, vaan toimii dokumentaationa ja helpottaa porttien yhdistämistä kontin suorittamisen yhteydessä.

EXPOSE 8080

Käynnistyskohdan määrittäminen (ENTRYPOINT)

ENTRYPOINT-ohje määrittää kontin suoritettavaksi tiedostoksi. Näin Dockerille kerrotaan, että Spring Boot -sovellus käynnistetään kontin käynnistyessä.

Sovelluksen JAR-tiedoston suorittamiseen käytämme komentoa java -jar app.jar.

ENTRYPOINT ["java", "-jar", "app.jar"]

Kaikki yhteen: Dockerfile

Tältä täydellinen Dockerfile-tiedostomme näyttää. Sijoittaisitte tämän tiedoston Spring Boot -projektinne juurihakemistoon.

FROM openjdk:17-jdk-slim
VOLUME /tmp
COPY target/docker-app-0.0.1-SNAPSHOT.jar app.jar
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "/app.jar"]

Huomautus: JAR-tiedoston nimi voi vaihdella projektin mukaan. VOLUME /tmp lisätään usein Spring Bootin sisäisen Tomcatin tukemiseksi.

Docker-vedoksen rakentaminen

Kun Dockerfile on valmis ja Spring Boot -sovellus on käännetty (esimerkiksi komennolla mvn package), voitte rakentaa Docker-vedoksen.

Siirtykää päätelaitteessa projektinne juurihakemistoon ja suorittakaa:

docker build -t my-spring-app .

Tämä komento:

  • docker build: Käynnistää vedoksen rakennusprosessin.
  • -t my-spring-app: Merkitsee vedoksen nimellä (my-spring-app).
  • .: Määrittää rakennuskontekstiksi nykyisen hakemiston, jossa Dockerfile sijaitsee.

Dockerfilen ohjeiden tarkistus

Mitä Dockerfilen ohjetta käytetään määrittämään komento, joka suoritetaan, kun kontti käynnistyy vedoksesta?

Kertaus: sovelluksen kontittaminen

Olette onnistuneesti oppineet Spring Boot -sovelluksen kontittamisen perusteet!

  • Ymmärsimme Dockerfile-tiedostojen, vedosten ja konttien roolit.
  • Tutustuimme keskeisiin Dockerfilen ohjeisiin: FROM, COPY, EXPOSE ja ENTRYPOINT.
  • Tiedätte nyt, miten Spring Boot -JAR paketoidaan siirrettäväksi Docker-vedokseksi.

Tämä luo perustan sovellusten yhdenmukaiselle suorittamiselle kaikissa Docker-ympäristöissä!

Aloita maksutta

Opi Java tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
24
Oppitunnit
93

Usein kysytyt kysymykset

Onko oppitunti ”Spring Boot -sovellusten Dockerisointi” ilmainen?

Kyllä – oppitunnin ”Spring Boot -sovellusten Dockerisointi” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssin, päivitä CoddyKit PROhon. Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-kurssilla on yhteensä 3 oppituntia.

Mitä opin oppitunnilla ”Spring Boot -sovellusten Dockerisointi”?

Luokaa Dockerfile-tiedostoja Spring Boot -sovellustenne paketoimiseksi kevyiksi ja siirrettäviksi säilöiksi. Harjoittelet Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/3.

Kuinka kauan ”Spring Boot -sovellusten Dockerisointi”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunnilla?

Kyllä. Jokainen Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Spring Boot -sovellusten Dockerisointi
  2. Säilöjen hallinta Docker Composella
  3. Säilöorkestroinnin käsitteet
← Takaisin: Spring Boot 4 -mikropalvelut ja REST-sovellusliittymät