Mittlerweile werden die meisten Projekte auf Docker bereitgestellt, der Bereitstellungsprozess ist jedoch immer noch etwas mühsam. In diesem Artikel wird daher erläutert, wie Sie mit IDEA per Mausklick bereitstellen können. Docker-Konfiguration Ändern der Konfigurationsdatei Öffnen Sie die Docker-Konfigurationsdatei: vim /usr/lib/systemd/system/docker.service Kommentieren Sie die folgende Zeile aus: # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Schreiben Sie eine neue Zeile: ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock Laden Sie die Konfigurationsdatei neu und starten Sie: systemctl daemon-reload systemctl starte Docker Wie in der folgenden Abbildung dargestellt: Docker mit IDEA konfigurieren Docker-Plugin installieren Docker-Informationen konfigurieren Um Docker in den Einstellungen zu konfigurieren, müssen Sie die API-URL konfigurieren. Wenn die Verbindung erfolgreich war, wird unten Folgendes angezeigt: Projektkonstruktion Erstellen Sie ein neues Springboot-Projekt Um ein Projekt über IDEA zu erstellen, müssen Sie nichts auswählen. Klicken Sie einfach weiter: Ändern der POM-Datei Die wichtigsten zwei Punkte sind: 1. Fügen Sie das Eigenschaften-Tag hinzu <docker.image.prefix>Demo</docker.image.prefix> 2. Füge ein neues Plugin-Tag hinzu <Plugin> <groupId>com.spotify</groupId> <artifactId>Docker-Maven-Plugin</artifactId> <version>1.2.1</version> <Konfiguration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerVerzeichnis></dockerVerzeichnis> <Ressourcen> <Ressource> <Zielpfad>/</Zielpfad> <Verzeichnis>${project.build.directory}</Verzeichnis> <include>${project.build.finalName}.jar</include> </Ressource> </Ressourcen> </Konfiguration> </plugin> Hier ist die vollständige POM-Datei: <?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.2.1.RELEASE</version> <relativePath/> <!-- übergeordnetes Element im Repository suchen --> </übergeordnet> <groupId>com.beispiel</groupId> <artifactId>Demo</artifactId> <version>0.0.1</version> <name>Demo</name> <description>Demoprojekt für Spring Boot</description> <Eigenschaften> <java.version>1.8</java.version> <docker.image.prefix>Demo</docker.image.prefix> </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> <Ausschlüsse> <Ausschluss> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </Ausschluss> </Ausschlüsse> </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.2.1</version> <Konfiguration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerVerzeichnis></dockerVerzeichnis> <Ressourcen> <Ressource> <Zielpfad>/</Zielpfad> <Verzeichnis>${project.build.directory}</Verzeichnis> <include>${project.build.finalName}.jar</include> </Ressource> </Ressourcen> </Konfiguration> </plugin> </plugins> </bauen> </Projekt> Erstellen Sie ein neues Dockerfile Sie müssen eine neue Dockerfile-Datei im Stammverzeichnis erstellen #Geben Sie das Basis-Image an und passen Sie es an AB java:8 #Informationen zum Betreuer BETREIBER zhouzhaodong <[email protected]> #Das Verzeichnis /tmp wird hier zur Laufzeit automatisch als anonymes Volume gemountet, und alle in /tmp geschriebenen Informationen werden nicht in der Containerspeicherebene VOLUME /tmp aufgezeichnet. #Kopieren Sie target/demo-1.0.0.jar im Kontextverzeichnis in den Container COPY target/demo-0.0.1.jar demo-1.0.0.jar #Im Bash-Modus ausführen, um demo-1.0.0.jar zugänglich zu machen. #RUNErstellen Sie eine neue Ebene und führen Sie diese Befehle darauf aus. Nachdem die Ausführung abgeschlossen ist, übernehmen Sie die Änderungen dieser Ebene, um ein neues Image zu erstellen. Führen Sie den Befehl bash -c "touch /demo-1.0.0.jar" aus. #Deklarieren Sie den vom Laufzeitcontainer bereitgestellten Service-Port. Dies ist nur eine Deklaration. Aufgrund dieser Deklaration wird die Anwendung den Service dieses Ports zur Laufzeit nicht öffnen. EXPOSE 8080 #Geben Sie das Container-Startprogramm und die Parameter <ENTRYPOINT> "<CMD>" an. EINSTIEGSPUNKT ["java","-jar","demo-1.0.0.jar"] Erstellen einer neuen Controllerdatei Vergessen Sie nicht, die Web-Abhängigkeit in der POM-Datei hinzuzufügen. @RestController öffentliche Klasse TestController { @RequestMapping("/") öffentlicher String-Test () { gib "Test-Docker" zurück; } } Maven-Verpackung Verpackung installieren: JAR-Paket generieren: Neue Konfiguration Erstellen Sie eine neue Dockerfile-Ausführungskonfiguration: Fügen Sie die folgenden Informationen hinzu, suchen Sie die von Ihnen geschriebene Dockerfile-Datei und konfigurieren Sie die Portzuordnung: Generieren Sie ein Docker-Image und führen Sie es aus Führen Sie einfach die neu erstellte Dockerfile-Ausführungskonfiguration aus: Wenn der Vorgang erfolgreich war, werden im Protokollfenster die Informationen zum Projektvorgang angezeigt: Beim Aufruf der entsprechenden Adresse werden die von uns eingegebenen Informationen angezeigt: Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. Das könnte Sie auch interessieren:
|
<<: Zwei Möglichkeiten zum Löschen von Tabellendaten in MySQL und ihre Unterschiede
>>: Implementierung der VUE-Anzeige unendlicher Ebenenbaum-Datenstrukturen
Schauen wir uns zunächst einen CSS-Karussell-Anim...
Während des jüngsten Entwicklungsprozesses handel...
Einführung in allgemeine Dockerfile-Anweisungen A...
Vorwort Ich glaube, jeder weiß, dass Indizes geor...
1. Root-Passwort festlegen und ändern Überprüfen ...
1. Klicken Sie unten in IDEA auf Terminal und geb...
In diesem Artikel wird der spezifische Code des h...
inline-flex ist dasselbe wie inline-block. Es ist...
Entpacken Sie das Maven-Paket tar xf apache-maven...
Im vorherigen Artikel wurde vorgestellt, wie Vue ...
1. Bestätigen Sie, ob MySQL installiert wurde. Si...
1. dhtmlxBaum dHTMLxTree ist ein Tree-Menu-Steuer...
Für Frontend-Entwickler ist es eine zeitaufwändig...
Es gibt viele Gründe, warum eine Anwendung langsa...
Vorwort Es ist ein Klischee. Hier werde ich über ...