Heim > Java > javaLernprogramm > Hauptteil

So stellen Sie ein SpringBoot-Projekt mit Docker bereit

WBOY
Freigeben: 2023-05-22 23:58:04
nach vorne
2996 Leute haben es durchsucht

Erstellen Sie zunächst ein einfaches Spring-Boot-Projekt, fügen Sie dann Docker-Unterstützung zum Projekt hinzu und stellen Sie schließlich das Projekt bereit. Ein einfaches Spring-Boot-Projekt Rückkehr: Hallo Docker!

<parent>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-parent</artifactid>
 <version>2.0.0.release</version>
</parent>
Nach dem Login kopieren

Startup-Klasse

<dependencies>
   <dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-web</artifactid>
  </dependency>
 <dependency>
 <groupid>org.springframework.boot</groupid>
 <artifactid>spring-boot-starter-test</artifactid>
 <scope>test</scope>
 </dependency>
</dependencies>
Nach dem Login kopieren
Nach dem erfolgreichen Start wird der Browserzugriff: http://localhost:8080/, die Seite kehrt zurück: Hallo Docker!, was darauf hinweist, dass der Spring Boot Die Projektkonfiguration ist normal.

Spring-Boot-Projekt fügt Docker-Unterstützung hinzu

Docker-Image-Namen in POM hinzufügen In diesem Dokument wird beschrieben, wie das Image erstellt wird.

@restcontroller
public class dockercontroller {
 
  @requestmapping("/")
  public string index() {
    return "hello docker!";
  }
}
Nach dem Login kopieren

Diese Docker-Datei ist sehr einfach und fügt dem Image das Spring-Boot-JAR hinzu. Eine kurze Erklärung:

von bedeutet, dass das Image nicht lokal ist. Es wird vom Dockerhub-Volume heruntergeladen, das Volume verweist auf ein /tmp-Verzeichnis. Da Spring Boot den integrierten Tomcat-Container verwendet, verwendet Tomcat standardmäßig /tmp als Arbeitsverzeichnis. Die Wirkung dieses Befehls ist: Erstellen Sie eine temporäre Datei im Verzeichnis /var/lib/docker des Hosts und verknüpfen Sie sie mit dem Verzeichnis /tmp im Container. Fügen Sie die Datei hinzu, kopieren Sie sie und benennen Sie sie um Einstiegspunkt: Um die Startzeit von Tomcat zu verkürzen, fügen Sie die Systemeigenschaft von java.security.egd hinzu, um auf /dev/urandom als Einstiegspunkt zu verweisen

Auf diese Weise fügt das Spring Boot-Projekt Docker-Abhängigkeit hinzu.

Erstellen einer Verpackungsumgebung

Wir benötigen eine Docker-Umgebung, um das Spring Boot-Projekt zu packen. Es ist mühsam, eine Docker-Umgebung in Windows zu erstellen, daher verwende ich hier Centos 7 als Beispiel.

  • Installieren Sie die Docker-Umgebung.

  • Installation

    @springbootapplication
    public class dockerapplication {
     
     public static void main(string[] args) {
     springapplication.run(dockerapplication.class, args);
     }
    }
    Nach dem Login kopieren

    Geben Sie die Docker-Version ein und wenn die Versionsinformationen zurückgegeben werden, ist die Installation normal.
  • Jdk installieren

  • <properties>
     <docker.image.prefix>springboot</docker.image.prefix>
    </properties>
    Nach dem Login kopieren

    Umgebungsvariablen konfigurieren Öffnen Sie vim /etc/profile und fügen Sie etwas Inhalt hinzu

    <build>
     <plugins>
     <plugin>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-maven-plugin</artifactid>
     </plugin>
     <!-- docker maven plugin -->
     <plugin>
      <groupid>com.spotify</groupid>
      <artifactid>docker-maven-plugin</artifactid>
      <version>1.0.0</version>
      <configuration>
      <imagename>${docker.image.prefix}/${project.artifactid}</imagename>
      <dockerdirectory>src/main/docker</dockerdirectory>
      <resources>
       <resource>
       <targetpath>/</targetpath>
       <directory>${project.build.directory}</directory>
       <include>${project.build.finalname}.jar</include>
       </resource>
      </resources>
      </configuration>
     </plugin>
     <!-- docker maven plugin -->
     </plugins>
    </build>
    Nach dem Login kopieren
  • Nachdem die Änderung abgeschlossen ist, machen Sie sie wirksam
from openjdk:8-jdk-alpine
volume /tmp
add spring-boot-docker-1.0.jar app.jar
entrypoint ["java","-djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
Nach dem Login kopieren

Geben Sie Java -Version ein, um die Versionsinformationen und die Installation zurückzugeben ist normal.

Maven installieren

Herunterladen:

yum install docker
Nach dem Login kopieren

Ändern Sie die Umgebungsvariablen und fügen Sie die folgenden Zeilen in /etc/profile hinzu

service docker start
chkconfig docker on
 
#lctt 译注:此处采用了旧式的 sysv 语法,如采用centos 7中支持的新式 systemd 语法,如下:
systemctl start docker.service
systemctl enable docker.service
Nach dem Login kopieren
Denken Sie daran, die Quelle /etc/profile auszuführen, damit die Umgebungsvariablen wirksam werden.

Geben Sie mvn -version ein und die Versionsinformationen werden zurückgegeben, dann ist die Installation normal.

Die gesamte Build-Umgebung ist jetzt konfiguriert.

Verwenden Sie Docker, um das Spring-Boot-Projekt bereitzustellen.

Kopieren Sie das Projekt Spring-Boot-Docker auf den Server und geben Sie den Projektpfad für Verpackungstests ein.

vi /etc/docker/daemon.json
 
#添加后:
{
  "registry-mirrors": ["https://registry.docker-cn.com"],
  "live-restore": true
}
Nach dem Login kopieren

Nachdem wir das Startprotokoll von Spring Boot gesehen haben, zeigt es, dass es kein Problem mit der Umgebungskonfiguration gibt. Als nächstes verwenden wir Dockerfile, um das Image zu erstellen.

systemctl restart docker
Nach dem Login kopieren
Der erste Build ist möglicherweise etwas langsam. Wenn Sie den folgenden Inhalt sehen, ist der Build erfolgreich:
yum -y install java-1.8.0-openjdk*
Nach dem Login kopieren

Verwenden Sie den Docker-Images-Befehl, um das erstellte Image anzuzeigen:

export java_home=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
export path=$path:$java_home/bin
Nach dem Login kopieren

springboot/spring-boot-docker is what Wir haben ein Image erstellt. Der nächste Schritt besteht darin, das Image auszuführen ://192.168.0. x:8080/ gibt

source /etc/profile
Nach dem Login kopieren
zurück und zeigt an, dass das Spring-Boot-Projekt erfolgreich mit Docker bereitgestellt wurde!

Das obige ist der detaillierte Inhalt vonSo stellen Sie ein SpringBoot-Projekt mit Docker bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage