1. Erstellen Sie ein SpringBoot-Projekt und packen Sie es in ein JAR-Paket 2. Erstellen Sie einen Ordner in Linux, um Docker-Tests durchzuführen [root@izwz90lvzs7171wgdhul8az ~]# mkdir /root/docker_test 3. Laden Sie das JAR-Paket auf Linux hoch Erstellen Sie einen Ordner zum Speichern des JAR-Pakets [root@izwz90lvzs7171wgdhul8az docker_test]# mkdir /root/docker_test/jar Verwenden Sie dann XShell, um das JAR-Paket in den obigen Ordner hochzuladen 4. Schreiben Sie das Dockerfile # Erstellen Sie ein neues Bild basierend auf dem Java-Bild FROM java:8 # Autor: MAINTAINER Howinfun # Fügen Sie das JAR-Paket zum Container hinzu und benennen Sie es in app.jar um HINZUFÜGEN jar/app.jar /root/docker_test/app.jar # Führen Sie das JAR-Paket ENTRYPOINT aus ["nohup","java","-jar","/root/docker_test/app.jar","&"] Hinweis: Die Anweisungen ADD und COPY werden auf die gleiche Weise verwendet. Der einzige Unterschied besteht darin, dass ADD das Extrahieren und Dekomprimieren von Archivdateien (tar, gzip, bzip2 usw.) unterstützt. Es ist auch wichtig zu beachten, dass das Verzeichnis, das der COPY-Befehl kopieren muss, im selben Verzeichnis wie die Dockerfile-Datei liegen muss. 5. Machen Sie einen Spiegel [root@izwz90lvzs7171wgdhul8az docker_test]# docker build -t sbdemo . Befehlsparameter: -t: Geben Sie den neuen Bildnamen an Wenn sich unser Dockerfile-Dateipfad nicht in diesem Verzeichnis befindet oder einen anderen Dateinamen hat, können wir den Pfad der Dockerfile-Datei separat über die Option -f angeben. [root@izwz90lvzs7171wgdhul8az docker_test]# docker build -t sbdemo -f /root/docker_test/Dockerfile /root/docker_test/ Befehlsparameter: -f: Der erste Parameter ist der Pfad des Dockerfiles und der zweite Parameter ist der Ordner, in dem sich das Dockerfile befindet. Nachdem die Erstellung abgeschlossen ist, verwenden Sie den Befehl „Docker Images“, um das von uns erstellte Image anzuzeigen: [root@izwz90lvzs7171wgdhul8az docker_test]# Docker-Bilder | grep sbdemo sbdemo latest 7efac46ef997 vor 4 Stunden 686 MB 6. Starten Sie den Container [root@izwz90lvzs7171wgdhul8az docker_test]# docker run -d -p 8888:8888 --name mysbdemo sbdemo:latest Befehlsparameter: -d: Im Hintergrund ausführen Nach dem Start können Sie den laufenden Container über Docker PS anzeigen: [root@izwz90lvzs7171wgdhul8az docker_test]# docker ps CONTAINER ID BILD BEFEHL ERSTELLT STATUS PORTS NAMEN 5096c8c7b36f sbdemo "nohup java -jar /ro?? vor 4 Sekunden Up 2 Sekunden 0.0.0.0:8888->8888/tcp mysbdemo 7. Container-Startprotokoll anzeigen Wir können die Protokolle des angegebenen Containers über Docker-Protokolle anzeigen: [root@izwz90lvzs7171wgdhul8az docker_test]# Docker-Protokolle mysbdemo . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | | | (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|================|___/=/_/_/_/ :: Spring Boot :: (v2.1.6.RELEASE) 2019-10-11 02:10:46.264 INFO 1 --- [main] com.hyf.DatabaseApplication: DatabaseApplication v0.0.1-SNAPSHOT wird auf 6d85ac5d8751 mit PID 1 gestartet (/root/docker_test/app.jar von root in / gestartet) 2019-10-11 02:10:46.267 DEBUG 1 --- [main] com.hyf.DatabaseApplication: Wird ausgeführt mit Spring Boot v2.1.6.RELEASE, Spring v5.1.8.RELEASE 2019-10-11 02:10:46.268 INFO 1 --- [ main] com.hyf.DatabaseApplication : Kein aktives Profil festgelegt, Rückgriff auf Standardprofile: Standard 11.10.2019 02:10:49.139 WARNUNG 1 --- [main] omsmapper.ClassPathMapperScanner: MapperFactoryBean mit dem Namen „bookMapper“ und MapperInterface „com.hyf.mapper.BookMapper“ wird übersprungen. Bean mit demselben Namen bereits definiert! 11.10.2019 02:10:49.139 WARNUNG 1 --- [main] omsmapper.ClassPathMapperScanner: Im Paket „[com.hyf]“ wurde kein MyBatis-Mapper gefunden. Bitte überprüfen Sie Ihre Konfiguration. 11.10.2019 02:10:49.246 INFO 1 --- [main] .sdrcRepositoryConfigurationDelegate: Mehrere Spring Data-Module gefunden, Wechsel in den strengen Repository-Konfigurationsmodus! 11.10.2019 02:10:49.257 INFO 1 --- [main] .sdrcRepositoryConfigurationDelegate: Bootstrapping von Spring Data-Repositorys im DEFAULT-Modus. 11.10.2019 02:10:49.328 INFO 1 --- [main] .sdrcRepositoryConfigurationDelegate: Scannen des Spring Data-Repository in 39 ms abgeschlossen. 0 Repository-Schnittstellen gefunden. 2019-10-11 02:10:50.345 INFO 1 --- [main] trationDelegate$BeanPostProcessorChecker: Bean „org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration“ vom Typ [org.springframework.transaction.annotation.ProxyTransactionManagementConfiguration$$EnhancerBySpringCGLIB$$2c6b335] kann nicht von allen BeanPostProcessors verarbeitet werden (z. B. nicht für automatisches Proxying geeignet). 2019-10-11 02:10:51.255 INFO 1 --- [ main] osbwembedded.tomcat.TomcatWebServer : Tomcat initialisiert mit Port(s): 8888 (http) 2019-10-11 02:10:51.359 INFO 1 --- [ main] o.apache.catalina.core.StandardService : Dienst wird gestartet [Tomcat] 2019-10-11 02:10:51.359 INFO 1 --- [ main] org.apache.catalina.core.StandardEngine : Servlet-Engine wird gestartet: [Apache Tomcat/9.0.21] 2019-10-11 02:10:51.778 INFO 1 --- [ main] oaccC[Tomcat].[localhost].[/] : Initialisierung des in Spring eingebetteten WebApplicationContext 2019-10-11 02:10:51.779 INFO 1 --- [main] osweb.context.ContextLoader: Root WebApplicationContext: Initialisierung in 5104 ms abgeschlossen 11.10.2019 02:10:54.164 INFO 1 --- [main] ossconcurrent.ThreadPoolTaskExecutor: ExecutorService „applicationTaskExecutor“ wird initialisiert. 2019-10-11 02:10:56.081 INFO 1 --- [ main] osbwembedded.tomcat.TomcatWebServer : Tomcat gestartet auf Port(s): 8888 (http) mit Kontextpfad '' 2019-10-11 02:10:56.090 INFO 1 --- [ main] com.hyf.DatabaseApplication : DatabaseApplication in 11,49 Sekunden gestartet (JVM läuft seit 12,624) 8. Zugangsschnittstelle Nachdem der Container gestartet wurde, versuchen wir, mithilfe von Postman oder anderen HTTP-Tools auf die im Container bereitgestellte Anwendungsschnittstelle zuzugreifen. Zusammenfassen Oben ist die vom Herausgeber vorgestellte Methode zur Verwendung von Dockerfile zum Bereitstellen von SpringBoot-Projekten. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Herausgeber wird Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken! Das könnte Sie auch interessieren:
|
<<: Vollständiger Prozessdatensatz zur Fehlerbehebung bei MySQL DeadLock
>>: Bringen Sie Ihnen bei, wie Sie ein React+Antd-Projekt von Grund auf erstellen
Die Warnhinweise in diesem Artikel haben nichts m...
Die Beispiele in diesem Artikel laufen auf MySQL ...
Unabhängig davon, ob Sie ein Windows- oder Linux-...
Dieser Artikel zeigt eine mit nativem JS implemen...
Inhaltsverzeichnis Gedanken, die durch eine Onlin...
CSS3 implementiert einen umdrehbaren Hover-Effekt...
Inhaltsverzeichnis 1. Nginx implementiert das Las...
Manche Webseiten erscheinen möglicherweise nicht g...
Kreuzungsauswahl Der Schnittpunktselektor besteht...
einführen Ein Diagramm ist eine grafische Darstel...
In diesem Artikelbeispiel wird der spezifische Co...
Finden Sie das Problem Schauen wir uns zunächst d...
Inhaltsverzeichnis 0. Der mit dem System geliefer...
Warum möchte ich den Inhalt in diesem Bereich orga...
Das Folgende ist ein Bild-Zoom-Effekt, der in rei...