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

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 das Plug-in spring-boot-maven-plugin hinzu und fügen Sie ein Plug-in 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 fehlgeschlagen: Datei nicht im Build-Kontext gefunden oder durch .dockerignore ausgeschlossen“ 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 Docker-File konfigurierte Dateipfad korrekt ist, und prüfen Sie dann, ob der tatsächliche Name des gepackten JAR-Objekts mit dem im Docker-File 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 Schritte zur Integration von Docker mit IDEA zur Realisierung einer Remote-Bereitstellung. Weitere relevante Inhalte zur Remote-Bereitstellung von IDEA Docker 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:
  • Detaillierte 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

<<:  Einführung in die neuen Funktionen von ECMAscript

>>:  Analyse und Lösung des a.getAttribute(href,2)-Problems in IE6/7

Artikel empfehlen

CSS Sticky Footer Mehrere Implementierungen

Was ist „Sticky Footer“ Der sogenannte „Sticky Fo...

Tutorial zur Master-Slave-Konfiguration der MySQL-Datenbank unter Windows

Der detaillierte Prozess zum Konfigurieren des My...

Super detaillierte Schritte zur Installation von Zabbix3.0 auf Centos7

Vorwort Vor Kurzem wurde ein Teil der Geschäftstä...

Vue+video.js implementiert Video-Wiedergabelisten

In diesem Artikel wird der spezifische Code von v...

Tipps zum Escapen von HTML-Texten

Heute habe ich auf CSDN einen kleinen Trick zum Es...

Schritte zur Verwendung von ORM zum Hinzufügen von Daten in MySQL

【Vorwort】 Wenn Sie ORM zum Bedienen von Daten in ...

Detaillierte Erläuterung der JavaScript-Programmschleifenstruktur

Inhaltsverzeichnis Struktur auswählen Schleifenst...

Methoden und Techniken zur Gestaltung einer interessanten Website (Bild)

Haben Sie schon einmal eine Situation erlebt, in d...

Beispielcode zur Umsetzung des „Pluszeichen“-Effektes mit CSS

So erzielen Sie den unten gezeigten Pluszeichen-E...

20 hervorragende Beispiele für die Farbabstimmung auf ausländischen Webseiten

In diesem Artikel werden 20 hervorragende Beispiel...