IDEA-Konfigurationsprozess von Docker

IDEA-Konfigurationsprozess von Docker

IDEA ist das am häufigsten verwendete Entwicklungstool für Java und Docker der beliebteste Bereitstellungscontainer.

1. Konfigurieren Sie den Docker-Remoteverbindungsport

vi /usr/lib/systemd/system/docker.service

Suchen Sie nach ExecStart und fügen Sie am Ende -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock hinzu

Bildbeschreibung hier einfügen

Starten Sie Docker neu

 systemctl daemon-reload
 systemctl starte Docker

Öffnen Sie Port 2375

Firewall-Befehl --zone=public --add-port=2375/tcp --permanent

2. Installieren Sie das Docker-Plugin in IDEA

1. Datei->Einstellungen->Plugins suchen nach Docker-Integration

Bildbeschreibung hier einfügen

Starten Sie IDEA nach erfolgreicher Installation neu

3. Erstellen Sie ein Springboot-Projekt und konfigurieren Sie die Verbindung zum Remote-Docker pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<Projekt xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <übergeordnetes Element>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.4.2</version>
    <relativePath/> <!-- übergeordnetes Element im Repository suchen -->
  </übergeordnet>
  <groupId>com.docker</groupId>
  <artifactId>Idee-Docker-Demo</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <name>Idee-Docker-Demo</name>
  <description>Demoprojekt für Spring Boot</description>
  <Eigenschaften>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <docker.image.prefix>com.docker</docker.image.prefix>
    <java.version>1.8</java.version>
  </Eigenschaften>
  <Abhängigkeiten>
    <Abhängigkeit>
      <groupId>org.springframework.boot</groupId>
      <artifactId>Spring-Boot-Starter</artifactId>
    </Abhängigkeit>
    <Abhängigkeit>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </Abhängigkeit>
    <Abhängigkeit>
      <groupId>org.springframework.boot</groupId>
      <artifactId>Spring-Boot-Starter-Test</artifactId>
      <scope>Test</scope>
    </Abhängigkeit>
    <!-- Lombok -->
    <Abhängigkeit>
      <groupId>org.projektlombok</groupId>
      <artifactId>Lombok</artifactId>
    </Abhängigkeit>
    <Abhängigkeit>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
    </Abhängigkeit>
  </Abhängigkeiten>

  <Bauen>
    <Plugins>
      <Plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>Spring-Boot-Maven-Plugin</artifactId>
      </plugin>
      <Plugin>
        <groupId>com.spotify</groupId>
        <artifactId>Docker-Maven-Plugin</artifactId>
        <version>1.0.0</version>
        <Konfiguration>
          <dockerDirectory>src/main/docker</dockerDirectory>
          <Ressourcen>
            <Ressource>
              <Zielpfad>/</Zielpfad>
              <Verzeichnis>${project.build.directory}</Verzeichnis>
              <include>${project.build.finalName}.jar</include>
            </Ressource>
          </Ressourcen>
        </Konfiguration>
      </plugin>
      <Plugin>
        <artifactId>maven-antrun-plugin</artifactId>
        <Hinrichtungen>
          <Ausführung>
            <phase>Paket</phase>
            <Konfiguration>
              <Aufgaben>
                <copy todir="src/main/docker"
                   Datei="target/${project.artifactId}-${project.version}.${project.packaging}"></kopieren>
              </Aufgaben>
            </Konfiguration>
            <Ziele>
              <goal>laufen</goal>
            </Ziele>
          </Ausführung>
        </Ausführungen>
      </plugin>

    </plugins>
  </bauen>

</Projekt>

Anwendungseigenschaften

server.port=8887

logging.config=Klassenpfad:logback.xml
logging.path=/home/docker_demo/app/logs/

logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<Konfiguration debug="false" scan="true" scanPeriod="1 Sekunde">

  <contextName>logback</contextName>
  <Eigenschaftsname="log.Pfad" Wert="/home/docker_demo/app/logs/docker_demo.log"/>

  <appender name="konsole" klasse="ch.qos.logback.core.ConsoleAppender">
    <Encoder>
      <pattern>%d{HH:mm:ss.SSS} %contextName [%thread] %-5level %logger{36} - %msg%n</pattern>
    </Encoder>
  </appender>

  <appender name="Datei" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <Datei>${log.Pfad}</Datei>
    <rollingPolicy-Klasse="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
      <fileNamePattern>${log.path}.%d{jjjj-MM-tt}.zip</fileNamePattern>
    </rollingPolicy>
    <Encoder>
      <Muster>%Datum %Ebene [%Thread] %Logger{36} [%Datei : %Zeile] %Msg%n
      </Muster>
    </Encoder>
  </appender>

  <root-Ebene="info">
    <appender-ref ref="Konsole"/>
    <appender-ref ref="Datei"/>
  </Wurzel>

</Konfiguration>

Konfigurieren Sie die Docker-Remoteadresse

Bildbeschreibung hier einfügen

Erstellen Sie eine Dockerfile-Datei unter dem Projekt

Bildbeschreibung hier einfügen

Inhalt der Dockerfile:

VON openjdk:8-jdk-alpine
ADD *.jar app.jar
EINSTIEGSPUNKT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

Docker-Konfiguration hinzufügen

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Bildbeschreibung hier einfügen

Befehl Erklärung
Bild-Tag: Geben Sie den Bildnamen und das Tag an. Der Bildname ist docker-demo und das Tag ist 1.1.
Ports binden: Binden Sie Host-Ports an interne Ports des Containers. Das Format ist [Host-Port]:[interner Container-Port]
Bind-Mounts: Mounten Sie das Host-Verzeichnis im internen Verzeichnis des Containers. Das Format ist [Hostverzeichnis]:[internes Containerverzeichnis]. Dieses Springboot-Projekt druckt das Protokoll im Container
/home/docker_demo/app/logs/-Verzeichnis. Nachdem das Host-Verzeichnis in das Verzeichnis innerhalb des Containers eingebunden wurde, bleiben die Protokolle im Host-Verzeichnis außerhalb des Containers erhalten.

3. Projektverpackung und Bereitstellung im Docker

Bildbeschreibung hier einfügen
Bildbeschreibung hier einfügen

Projektstart erfolgreich

Bildbeschreibung hier einfügen

Sie können direkt auf die Schnittstelle zugreifen und die Protokolldateien anzeigen

Bildbeschreibung hier einfügen

Zusammenfassung: Es ist einfach und bequem, Springboot-Projekte über Idea in Docker bereitzustellen!

Dies ist das Ende dieses Artikels über den Prozess der Konfiguration von Docker in IDEA. Weitere relevante Inhalte zur Konfiguration von Docker in IDEA finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • Das neueste Idea2021-Aktivierungs-Tutorial mit den neuesten Details
  • Lösen Sie das Problem, dass der IDEA-Zielordner immer größer wird
  • Über Intellij Idea-Fehler: Fehler: Java unterstützt Release-Version 5 nicht
  • Beheben Sie dauerhaft das Problem des Intellij-Ideen-Berichtsfehlers: Fehler: Java unterstützt Release-Version 5 nicht
  • IntelliJ IDEA-Tutorial zum Erstellen eines allgemeinen Java-Projekts und zum Erstellen und Ausführen von Java-Dateien
  • Beheben Sie den IDEA Gradle-Build-Fehler „Ursache: Zip-END-Header nicht gefunden“
  • Lösen Sie das Problem, dass IDEA zu viel Platz auf dem Laufwerk C einnimmt

<<:  202 kostenlose, hochwertige XHTML-Vorlagen (1)

>>:  So installieren Sie MySQL für Anfänger (erwiesenermaßen effektiv)

Artikel empfehlen

Beispielcode zur Implementierung eines 3D-Text-Hover-Effekts mit CSS3

In diesem Artikel wird der Beispielcode von CSS3 ...

So installieren Sie die MySQL 8.0-Datenbank auf dem M1-Chip (Bild und Text)

1. Herunterladen Zunächst möchte ich einen inländ...

webpack -v Fehlerlösung

Hintergrund Ich möchte die Webpack-Version überpr...

So isolieren Sie Benutzer in Docker-Containern

Im vorherigen Artikel „UID und GID in Docker-Cont...

Implementierungsprinzip und Konfiguration der MySql Master-Slave-Replikation

Die Trennung von Lese- und Schreibzugriffen in Da...

Detaillierte Erläuterung der Verwendung des Linux-Zeitbefehls

1. Befehlseinführung Mit „time“ werden die für di...

So stellen Sie mit Navicat Premium eine Remoteverbindung zur MySQL-Datenbank her

Derjenige, der eine neue Verbindung herstellt, en...

Einfaches Setup von VMware ESXi6.7 (mit Bildern und Text)

1. Einführung in VMware vSphere VMware vSphere is...

Verstümmelte Zeichen und Lösungen im MySQL-Zeichensatz

Vorwort Ein Zeichensatz ist eine Reihe von Symbol...

XHTML-Tutorial für den Einstieg: Häufig verwendete XHTML-Tags

<br />Genau wie ein Artikel sollten unsere W...

Tutorial zur Installation von MongoDB unter Linux

MongoDB ist plattformübergreifend und kann sowohl...