Heim >Java >javaLernprogramm >Analyse der Docker-Prinzipien in Springboot

Analyse der Docker-Prinzipien in Springboot

WBOY
WBOYnach vorne
2023-05-23 16:40:06891Durchsuche

1. Maven-Konfiguration hinzufügen

<properties>
    <docker.image.prefix>ms4t</docker.image.prefix>
  </properties>

  <build>
    <finalName>eureka</finalName>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
      <plugin>
        <groupId>com.spotify</groupId>
        <artifactId>dockerfile-maven-plugin</artifactId>
        <version>1.3.6</version>
        <configuration>
          <repository>${docker.image.prefix}/${project.artifactId}</repository>
          <buildArgs>
            <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
          </buildArgs>
        </configuration>
      </plugin>
    </plugins>
  </build>

2. Docker-Datei erstellen

FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG JAR_FILE
COPY ${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

Parametererklärung:

  • FROM : erfordert ein Basis-Image, das öffentlich oder privat sein kann.

  • Folgende Builds basieren auf diesem Image. Wenn mehrere Images in derselben Docker-Datei erstellt werden, können Sie mehrere FROM-Anweisungen verwenden

  • VOLUME, um ein Verzeichnis mit Persistenzfunktion, host/var/lib/docker-Verzeichnis, zu konfigurieren Eine temporäre Datei wird erstellt und mit /tmp des Containers verknüpft. Der Änderungsschritt ist optional, aber notwendig, wenn die Anwendung das Dateisystem betrifft

  • . Das Verzeichnis /tmp wird verwendet, um im Docker-Datenordner beizubehalten, da der von Spring Boot verwendete eingebettete Tomcat-Container standardmäßig /tmp als Arbeitsverzeichnis verwendet. ARG legt die beim Kompilieren des Images hinzugefügten Parameter fest und ENV ist das Umgebungsvariable, die den Container festlegt

  • COPY: Unterstützt nur das Kopieren lokaler Dateien in den Container. Es gibt auch ADD, das leistungsfähiger, aber komplizierter ist.

  • ENTRYPOINT Befehl wird ausgeführt, wenn der Container gestartet wird.

  • EXPOSE 8080 Offengelegt Spiegelport

  • Drei, Build

mvn install dockerfile:build

IV. Start

docker run -d --name 名称 -p 对外端口:容器端口 镜像ID

Das obige ist der detaillierte Inhalt vonAnalyse der Docker-Prinzipien in Springboot. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen