Detaillierte Schritte für IDEA zur Integration von Docker zur Realisierung einer Remote-Bereitstellung

Detaillierte Schritte für IDEA zur Integration von Docker zur Realisierung einer Remote-Bereitstellung

1. Aktivieren Sie den Remotezugriff auf den Docker-Server

Melden Sie sich beim Remote-Server an, auf dem sich Docker befindet, und verwenden Sie den Befehl vim /usr/lib/systemd/system/docker.service um die Konfigurationsdatei zu ändern. Bitte beachten Sie: Wenn Sie Änderungen vornehmen, bestätigen Sie bitte, dass Ihr Konto über die entsprechenden Berechtigungen verfügt.

Die Hauptoperation besteht darin, Kommentieren Sie die Zeile ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock aus und fügen Sie dahinter eine neue Zeile hinzu. -H tcp://0.0.0.0:2375 hinzugefügt, um Port 2375 zu öffnen und eine Remote-Verbindung zum Docker zu unterstützen.

#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

Nach dem Speichern der Konfigurationsdatei müssen Sie die Konfiguration neu laden und Docker neu starten. Sie können den folgenden Befehl verwenden

systemctl daemon-reload
systemctl Neustart docker.service

2. Installieren Sie das Docker-Plugin in IDEA

Neuere IDEAs sind im Allgemeinen an das Docker-Plugin gebunden. Wenn dies nicht der Fall ist, suchen und installieren Sie das Docker-Plugin in den IDEA-Plugins. Starten Sie das System nach der Installation neu, damit die Änderungen wirksam werden.

Bildbeschreibung hier einfügen

Nach dem Neustart können Sie Erstellen, Ausführen, Depolyment ——> Docker-Pfad, um das Docker-Plugin zu finden, und fügen Sie dann eine neue Konfiguration hinzu, um eine Verbindung zum Remote-Docker herzustellen

Bildbeschreibung hier einfügen

Nachdem die Verbindung erfolgreich hergestellt wurde, können Sie das Image und den Container des Remote-Docker-Hosts im IDEA-Plug-In-Panel sowie das Protokoll des Containervorgangs und andere Informationen anzeigen.

Bildbeschreibung hier einfügen

3. Docker-Image erstellen und hochladen

Um das lokal gepackte JAR in ein Docker-Image zu erstellen, müssen Sie der POM-Datei des Projekts eine Build-Plugin-Konfiguration hinzufügen. Nachfolgend sehen Sie eine Verpackungskonfiguration eines SpringBoot-Projektmoduls. Die wichtigsten Punkte sind wie folgt:

Erstellen Sie ein JAR-Paket mit dem Namen nathan-api . Fügen Sie zunächst spring-boot-maven-plugin hinzu und fügen Sie ein Plugin docker-maven-plugin hinzu, um die Schlüsseleigenschaften des Docker-Images zu konfigurieren. Beachten Sie, dass dieses Plugin das JAR-Paket com.spotify.docker-maven-plugin herunterlädt. Wenn der Download fehlschlägt, versuchen Sie, mehrere Versionen zu ändern. Eine Liste der Versionen finden Sie im Maven Central Repository.
 <Bauen>
     <finalName>nathan-api</finalName>
     <Plugins>
         <Plugin>
             <groupId>org.springframework.boot</groupId>
             <artifactId>Spring-Boot-Maven-Plugin</artifactId>
             <version>2.4.2</version>
             <Hinrichtungen>
                 <Ausführung>
                     <Ziele>
                         <goal>neu verpacken</goal>
                     </Ziele>
                 </Ausführung>
             </Ausführungen>
         </plugin>

         <Plugin>
             <groupId>com.spotify</groupId>
             <artifactId>Docker-Maven-Plugin</artifactId>
             <version>1.1.0</version>
             <!--Binden Sie das Plugin zur Ausführung an eine bestimmte Phase-->
             <Hinrichtungen>
                 <Ausführung>
                     <id>Bild erstellen</id>
                     <!--Benutzer müssen nur das MVN-Paket ausführen und MVN Docker:Build wird automatisch ausgeführt-->
                     <phase>Paket</phase>
                     <Ziele>
                         <goal>bauen</goal>
                     </Ziele>
                 </Ausführung>
             </Ausführungen>
             <Konfiguration>
                 <!--Geben Sie das Docker-Dateiverzeichnis an-->
                 <dockerDirectory>${project.basedir}/docker</dockerDirectory>
                 <!--Geben Sie den Namen des generierten Bildes an-->
                 <imageName>${project.artifactId}</imageName>
                 <!--Tags angeben-->
                 <BildTags>
                     <imageTag>neueste</imageTag>
                 </imageTags>
                 <!--Geben Sie die Remote-Docker-API-Adresse an-->
                 <dockerHost>http://xxx.168.146.63:2375</dockerHost>
                 <!-- Hier ist die Konfiguration zum Kopieren des JAR-Pakets in das angegebene Verzeichnis des Docker-Containers-->
                 <Ressourcen>
                     <Ressource>
                         <Zielpfad>/</Zielpfad>
                         <!--Der Pfad, in dem sich das JAR-Paket befindet, entspricht dem Zielverzeichnis -->
                         <Verzeichnis>${project.build.directory}</Verzeichnis>
                         <!-- Das einzubindende JAR-Paket, das dem im Dockerfile hinzugefügten Dateinamen entspricht-->
                         <include>${project.build.finalName}.jar</include>
                     </Ressource>
                 </Ressourcen>
             </Konfiguration>
         </plugin>

     </plugins>
 </bauen>

Im vorherigen Schritt wurde das Verzeichnis der Docker-Datei im Docker-Maven-Plugin konfiguriert und docker Ordner im Stammverzeichnis des Moduls angegeben. Erstellen Sie dann eine Erstellen Sie eine neue Datei mit dem Namen Dockerfile auf derselben Ebene wie src. Der Inhalt ist wie folgt:

VON java:8
VOLUMEN /tmp
# Kopieren Sie das gepackte JAR nach app.jar ADD nathan-api.jar app.jar
EXPOSE 20561
# Das Folgende ist die Startbefehlskonfiguration des JAR-Pakets ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom","-Duser.timezone=GMT+8", "-jar", "app.jar"]

Nach der obigen Konfiguration wurde die Aktion zum Erstellen des Docker-Images an den Maven- package gebunden, sodass Sie das Paket ausführen können

Der Autor hat bei diesem Schritt den Fehler ADD failed: file not found in build context or excluded by .dockerignore festgestellt. Das Hauptproblem besteht darin, dass die Quelldateien, die der ADD-Befehl im Dockerfile kopieren muss, nicht gefunden werden. Wenn dieser Fehler auftritt, überprüfen Sie zuerst, ob der im Dockerfile konfigurierte Dateipfad korrekt ist, und dann, ob der tatsächliche Name der gepackten JAR-Datei mit dem im Dockerfile konfigurierten Dateinamen übereinstimmt. Ich habe die Konfiguration überprüft und bestätigt, dass es keine Pfad- und Namensfehler gab. Schließlich habe ich IDEA mehrmals bereinigt und neu gestartet und es funktionierte wieder. Frag nicht warum, denn Fragen ist Metaphysik

Bildbeschreibung hier einfügen

Nachdem das Docker-Image erstellt wurde, klicken Sie mit der rechten Maustaste auf die Image-Datei und wählen Sie die Option „Container erstellen“. Der einfachste Schritt zum Erstellen eines neuen Containers besteht darin, den Container zu benennen und dann die Portzuordnung vom Host zum Container hinzuzufügen. Nach erfolgreicher Erstellung wird der Container automatisch ausgeführt.

Bildbeschreibung hier einfügen

Dies ist das Ende dieses Artikels über die detaillierten Schritte zur Integration von Docker in IDEA zur Realisierung einer Remote-Bereitstellung. Weitere relevante Inhalte zur Remote-Bereitstellung von IDEA finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Schritte für IDEA zur Integration von Docker zur Realisierung einer Remote-Bereitstellung
  • Idea stellt Remote-Docker bereit und konfiguriert die Datei
  • So verwenden Sie das Docker-Plugin, um Projekte remote auf Cloud-Servern in IDEA bereitzustellen
  • Detailliertes Tutorial zum Herstellen einer Verbindung zu einem Remote-Server-Docker zum Bereitstellen eines Spring Boot-Projekts in IDEA
  • Java-Remote-Ein-Klick-Bereitstellung von Springboot auf Docker über Idea
  • Implementierung der IDEA-Remoteverwaltung von Docker-Images und Containerdiensten

<<:  Detaillierte Einführung und Verwendungsbeispiele für Map-Tag-Parameter

>>:  Einführung in die Verwendung von CSS3-Farbwerten (RGBA) und Farbverlaufsfarben

Artikel empfehlen

Sechs Tipps zur Verbesserung der Ladegeschwindigkeit von Webseiten

Zweitens hängt das Ranking von Schlüsselwörtern au...

js canvas realisiert kreisförmige Wasseranimation

In diesem Artikelbeispiel wird der spezifische Co...

So lösen Sie das Problem, dass Tomcat9.exe abstürzt

Ein Leser kontaktierte mich und fragte, warum es ...

Eine kurze Diskussion zum Implementierungsprinzip des Vue-Slots

Inhaltsverzeichnis 1. Beispielcode 2. Sehen Sie d...

Samba-Serverkonfiguration unter Centos7 (tatsächlicher Kampf)

Samba Übersicht Samba ist eine kostenlose Softwar...

So bedienen Sie JSON-Felder in MySQL

MySQL 5.7.8 führte das JSON-Feld ein. Dieser Feld...

Spezifische Verwendung von Docker Anonymous Mount und Named Mount

Inhaltsverzeichnis Datenvolumen Anonyme und benan...

Tutorial zur Konfiguration des Nginx/Httpd-Reverseproxys für Tomcat

Im vorherigen Blog erfuhren wir die Verwendung un...

Aktivieren oder Deaktivieren des GTID-Modus in MySQL online

Inhaltsverzeichnis Grundlegende Übersicht GTID on...

Lösen Sie das Spleißproblem beim Löschen von Bedingungen in myBatis

Ich habe heute gerade Mybatis gelernt und einige ...

Grafische Schritte zur Zabbix-Überwachung des VMware Exsi-Hosts

1. Rufen Sie das Virtualisierungscenter auf, meld...

Vue-Beispielcode mit dem Animationseffekt „Übergangskomponente“

Die Übergangsdokumentadresse definiert eine Hinte...