Maison  >  Article  >  Java  >  Analyse des principes de docker dans springboot

Analyse des principes de docker dans springboot

WBOY
WBOYavant
2023-05-23 16:40:06799parcourir

1. Ajouter une configuration maven

<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. Créer un fichier Docker

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

Explication du paramètre :

  • FROM : nécessite une image de base, qui peut être publique ou privée.

  • Les versions suivantes seront basées sur cette image Si plusieurs images sont créées dans le même Dockerfile, plusieurs instructions FROM peuvent être utilisées

  • #. 🎜 🎜#
  • VOLUME configure un répertoire avec fonction de persistance. Un fichier temporaire est créé dans le répertoire host/var/lib/docker et lié au /tmp du conteneur. L'étape de modification est facultative, mais elle est nécessaire s'il s'agit d'applications du système de fichiers

  • . Le répertoire /tmp est utilisé pour persister dans le dossier de données Docker, car le conteneur Tomcat intégré utilisé par Spring Boot utilise /tmp comme répertoire de travail par défaut

  • ARG lorsque configuration de l'image compilée Les paramètres ajoutés, ENV consiste à définir la variable d'environnement du conteneur

  • COPY : prend uniquement en charge la copie des fichiers locaux dans le conteneur, il y a aussi ADD qui est plus puissant mais plus compliqué#🎜🎜 #

  • ENTRYPOINT Commande exécutée au démarrage du conteneur
  • EXPOSE 8080 Miroir exposé port
3. Construire

mvn install dockerfile:build

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer