使用Docker WildFly和wildfly-maven-plugin實現Java應用容器化
假設你已經有了一個war包,使用WildFly Docker映象來建立應用映象:
將以下內容加入一個新 Dockerfile 映像
FROM quay.io/wildfly/wildfly ADD target/microprofile-config.war /opt/jboss/wildfly/standalone/deployments/ |
執行:
docker build -t wildlfy-app .
在這種新架構下,WildFly的供應(提供下載和建立適合應用要求的WildFly發行版的能力)由Maven外掛org.wildfly.plugins:wildfly-maven-plugin處理。
我們可以將其新增到應用程式的pom.xml的<build>部分,以便在Maven執行軟體包目標時提供WildFly。
<plugin> <groupId>org.wildfly.plugins</groupId> <artifactId>wildfly-maven-plugin</artifactId> <version>4.0.0.Beta2</version> <configuration> <feature-packs> <feature-pack> <location>org.wildfly:wildfly-galleon-pack:26.1.1.Final</location> </feature-pack> </feature-packs> </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> |
如果我們再次執行mvn clean package,wildfly-maven-plugin將使用其功能包配置WildFly。
一旦maven完成,將有一個包含WildFly和應用程式部署的目標/伺服器目錄。
你可以直接從./target/server/bin/standalone.sh目錄中執行WildFly,其中部署有應用程式。
應用程式的pom.xml控制著應用程式的全部執行時間。你不再需要安裝WildFly,建立部署並在WildFly中部署。相反,WildFly的安裝和部署是作為Maven構建過程的一部分完成的。你可以把pom.xml看作是應用程式的中心點,它由WildFly執行時和部署檔案組成。
如果你想建立一個應用程式映象,你可以改變Dockerfile以使用這個執行時映象,並將target/server加入其中。
FROM quay.io/wildfly/wildfly-runtime-jdk11 COPY --chown=jboss:root target/server $JBOSS_HOME RUN chmod -R ug+rwX $JBOSS_HOME |
原始碼:GitHub repository.
相關文章
- 谷歌助力,快速實現 Java 應用容器化谷歌Java
- 使用Docker容器化部署實踐之Django應用部署(一)DockerDjango
- 使用Docker容器化SpringBoot+Dubbo應用的實踐DockerSpring Boot
- 教你使用Docker容器化Node.js應用程式DockerNode.js
- Docker容器化部署Python應用DockerPython
- java應用docker化JavaDocker
- Docker容器與虛擬化技術:OpenEuler 部署 docker容器應用Docker
- Java服務端容器化:Docker與Kubernetes的應用Java服務端Docker
- 真棒:使用Java 11實現應用的模組化Java
- 應用容器引擎-DockerDocker
- .NET Core容器化之多容器應用部署(Docker-Compose)Docker
- .NET Core容器化之多容器應用部署@Docker-ComposeDocker
- zabbix容器化安裝及監控docker應用Docker
- 利用ELK搭建Docker容器化應用日誌中心Docker應用日誌
- Docker容器的自動化監控實現Docker
- 『現學現忘』Docker基礎 — 29、Docker容器資料卷的應用Docker
- 如何把 Java Web 應用放在 docker 容器中執行JavaWebDocker
- Docker Compose 多容器應用Docker
- 使用Java後端對Angular應用進行Docker化 -BhargavJava後端AngularDocker
- Docker容器學習梳理 - 應用程式容器環境部署Docker
- Docker應用容器日誌資訊收集Docker
- Docker--容器和映象的使用Docker
- 使用Jexus 容器化您的 Blazor 應用程式Blazor
- wildfly 21中應用程式的部署
- 使用Portainer部署Docker容器實踐AIDocker
- 從基礎到高階應用,詳解用Python實現容器化和微服務架構Python微服務架構
- Docker的安裝與容器應用部署Docker
- 在Cucumber中應用 PicoContainer容器實現元件的例項化AI元件
- 容器化部署實踐之Django應用部署(二)Django
- 利用Docker容器實現代理轉發和資料備份Docker
- 瞭解用於 Linux 和 Windows 容器的 Docker “容器LinuxWindowsDocker
- 如何快速部署容器化應用
- 容器化改造應用-資料
- Docker容器中執行.Net Core應用程式Docker
- Docker容器雲在金融行業的應用Docker行業
- .NET Core容器化(Docker)Docker
- .NET Core容器化@DockerDocker
- docker容器化.NET程式Docker