Idea ist ein leistungsstarkes Tool für die Java-Entwicklung, SpringBoot ist das beliebteste Microservice-Framework im Java-Ökosystem und Docker ist die angesagteste Container-Technologie unserer Zeit. Welche Art chemischer Reaktion tritt also auf, wenn sie miteinander kombiniert werden? 1. Vorbereitung vor der Entwicklung1. Informationen zur Docker-Installation finden Sie unter https://docs.docker.com/install/. 2. 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 hinzu, wie in der folgenden Abbildung gezeigt 3. Docker neu starten systemctl daemon-reload systemctl Neustart Docker 4. Offene Ports Firewall-Befehl --zone=public --add-port=2375/tcp --permanent 5.Idea installiert das Docker -Plugin und startet neu 6. Verbindung zum Remote-Docker herstellen (1) Konfiguration bearbeiten (2) Geben Sie die Remote-Docker-Adresse ein (3) Wenn die Verbindung erfolgreich ist, werden der Remote-Docker-Container und das Image aufgelistet. 2. Neues ProjektErstellen Sie ein Springboot-Projekt Projektstrukturdiagramm (1) Konfigurieren Sie die 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>com.fengqi</groupId> <artifactId>dockerDemo</artifactId> <version>1.0.0</version> <relativePath>../pom.xml</relativePath> <!-- übergeordnetes Element im Repository suchen --> </übergeordnet> <groupId>com.fengqi</groupId> <artifactId>Netz</artifactId> <version>1.0.0</version> <name>Webseite</name> <description>Demoprojekt für Spring Boot</description> <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-Test</artifactId> <scope>Test</scope> </Abhängigkeit> <Abhängigkeit> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</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" file="target/${project.artifactId}-${project.version}.${project.packaging}"></copy> </Aufgaben> </Konfiguration> <Ziele> <goal>laufen</goal> </Ziele> </Ausführung> </Ausführungen> </plugin> </plugins> </bauen> (2) Erstellen Sie ein Docker-Verzeichnis im Verzeichnis src/main und erstellen Sie eine Dockerfile-Datei VON openjdk:8-jdk-alpine ADD *.jar app.jar EINSTIEGSPUNKT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"] (3) Erstellen Sie eine application.properties-Datei im Ressourcenverzeichnis logging.config=Klassenpfad:logback.xml logging.path=/home/entwickler/app/logs/ server.port=8990 (4) Erstellen Sie eine DockerApplication-Datei @SpringBootAnwendung öffentliche Klasse DockerApplication { öffentliche statische void main(String[] args) { SpringApplication.run(DockerApplication.class, args); } } (5) Erstellen Sie eine DockerController-Datei @RestController öffentliche Klasse DockerController { statisches Protokoll log = LogFactory.getLog(DockerController.class); @RequestMapping("/") öffentlicher Stringindex() { log.info("Hallo Docker!"); returniere "Hallo Docker!"; } } (6) Konfiguration hinzufü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 Protokolle im Containerverzeichnis /home/developer/app/logs/. Nachdem das Hostverzeichnis in das interne Verzeichnis des Containers eingebunden wurde, werden die Protokolle im Hostverzeichnis außerhalb des Containers gespeichert. (7) Maven-Verpackung (8) Laufen Hier können wir sehen, dass der Image-Name docker-demo:1.1 und der Docker-Container docker-server ist. (9) Erfolgreicher Betrieb (10) Browserzugriff (11) Protokollansicht Seitdem wurde das Springboot-Projekt über Idea erfolgreich in Docker bereitgestellt! Es ist kaum vorstellbar, dass die Bereitstellung eines Java-Webprojekts so einfach und bequem ist! Abschließend möchte ich noch die entsprechenden Lern-Tutorials mit euch teilen: https://www.bilibili.com/video/BV14t411z77T IDEA-Lernprogramm https://www.bilibili.com/video/BV1PZ4y1j7QK Dies ist das Ende dieses Artikels über Docker meets Intellij IDEA, der die Produktivität der Java-Entwicklung um das Zehnfache steigert. Weitere verwandte Inhalte zu Docker meets IDEA finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Beispiel für die MySQL-Methode zum Löschen von Daten und Datentabellen
>>: js, um den Effekt des Ziehens des Schiebereglers zu erzielen
Linux-Grep-Befehl Mit dem Linux-Befehl grep könne...
1. Transaktionsmerkmale (ACID) (1) Atomarität. Di...
Als er über die Seite zur Bedienung der Bildschir...
echarts Wortwolke ist eine Erweiterung von echart...
Inhaltsverzeichnis Einführung Indexierungsprinzip...
In tatsächlichen Projekten befinden sich die Bild...
1. Einführung in Flex Layout Flex ist die Abkürzu...
So verwenden Sie die Concat-Funktion in MySQL: CO...
HTML-Seitensprung: Fenster.öffnen(URL, "&quo...
Inhaltsverzeichnis Abfrage-Cache-Optimierung Über...
Inhaltsverzeichnis 1. Bauen Sie mit dem offiziell...
Hallo zusammen! Ich bin Mr. Tony, der nur über Te...
1. Hörer ansehen Vorstellung der Uhr importiere {...
1. Neuen Benutzer anlegen: 1. Führen Sie eine SQL...
Vorwort Für die Berechtigungen von Dateien oder V...