使用Java後端對Angular應用進行Docker化 -Bhargav
Docker是企業就緒的容器平臺,使組織能夠在任何地方無縫地構建,共享和執行任何應用程式。幾乎每家公司都在對其應用程式進行容器化,以加快生產工作負載,以便它們可以隨時隨地部署,有時一天可以部署幾次。我們可以使用多種方式來構建Angular應用程式。一種方法是使用Java後端對Angular應用進行docker化並建立一個docker映象(映像),以便我們可以每天或有時每天多次部署該映象。
先決條件
前提條件是,必須安裝Docker for Desktop(無論您的作業系統是什麼)。請點選此連結在您的膝上型電腦上安裝Docker。安裝後,您可以使用以下命令檢查Docker資訊或版本。
Github連結:https://github.com/bbachi/angular-java-docker.git
這是一個簡單的專案,演示瞭如何使用Java開發和執行Angular應用程式。我們有一個簡單的應用程式,可以在其中新增使用者,計數並在側面顯示它們,並在需要時檢索它們。
//克隆專案 git clone https://github.com/bbachi/angular-java-docker.git //構建專案 mvn clean install java -jar target /users-0.0.1-SNAPSHOT.jar |
Docker化應用
我們已經看到了如何以常規方式構建專案和調整應用程式。讓我們看看如何建立一個Dockerfile並在Docker中執行相同的應用程式。
首先,我們建立一個名為docker的資料夾,並使用maven外掛將生成的war檔案放置在該資料夾中。如果檢視pom.xml的構建部分,我們有一個名為repackage的目標,可在構建應用程式時將打包的war檔案放置在docker資料夾中。使用單獨的資料夾的優點之一是,構建映像時不必將整個應用程式程式碼傳送到Docker守護程式。
讓我們轉到應用程式的根目錄並執行mvn命令mvn clean install.現在,我們應該在docker資料夾中擁有war檔案。
其次,我們需要建立一個用於建立Docker映像的Dockerfile。這是一個以FROM命令開頭並以基本映像openjdk:8-jre-alpine開頭的檔案。複製生成的war檔案,最後複製在例項化映像時執行的CMD命令。
# Alpine Linux with OpenJDK JRE FROM openjdk:8-jre-alpine # Copy war file COPY users-0.0.1-SNAPSHOT.jar /users.war # run the app CMD ["/usr/bin/java", "-jar", "/users.war"] |
如果您位於根目錄中,請更改目錄並構建docker映像,並使用以下命令進行驗證:
// change directory cd docker // build the image docker build -t java-angular . // list the image docker images // login into your registry (Docker Hub) docker login // tag the image docker tag java-angular <repository name>/java-angular // push the image docker push <repository name>/java-angular |
現在,我們有了docker映像,讓我們執行容器,一旦容器啟動並執行,您可以在http:// localhost:8080 /上訪問應用程式
//執行容器 docker run -d -p 8080:8080 --name javaangular java-angular //列出容器 docker ps // 日誌 docker logs javaangular // exec進入正在執行的容器 docker exec -it javaangular /bin/sh |
摘要
- Docker是企業就緒的容器平臺,使組織能夠在任何地方無縫地構建,共享和執行任何應用程式。
- 您需要使用maven外掛構建一個war檔案。
- 為docker建立一個單獨的資料夾,這樣您就不必將所有原始碼傳送到docker守護程式。
- 使用稱為repackage的maven目標將打包的war檔案放置在docker資料夾中。
- 構建映像時,請始終從細長的Docker映像開始,並複製war檔案並使用java命令啟動應用程式。
- 您可以使用此命令標記該映像並將其推送到所需的任何登錄檔中 docker push
- 最後,您可以使用docker run命令執行docker容器。
相關文章
- java應用docker化JavaDocker
- Docker部署Angular應用DockerAngular
- 使用Java客戶端對Redis進行操作Java客戶端Redis
- 使用 Gradle 對應用進行個性化定製Gradle
- 對傳統應用進行容器化改造
- 如何使用Nginx對Artifactory進行http應用NginxHTTP
- 使用遠端Docker進行整合測試Docker
- Java服務端容器化:Docker與Kubernetes的應用Java服務端Docker
- 如何在Java後端對輸入進行簡單驗證? - tejanshranaJava後端
- 使用火焰圖進行Java應用效能分析Java
- 使用springloaded進行java應用熱部署SpringJava熱部署
- 優化Angular應用的效能優化Angular
- Angular應用效能優化指南Angular優化
- Docker中使用Xhprof 對程式碼進行效能分析Docker
- 使用FakeAsync對Angular非同步程式碼進行單元測試Angular非同步
- 使用VisualVM進行Java應用的效能測量LVMJava
- 如何使用Docker進行Java入門級開發DockerJava
- 使用 Sentry 對應用進行監控,少 bug 少加班
- Azure Front Door(二)對後端 VM 進行負載均衡後端負載
- NodeJS 後端工程 Docker 打包優化NodeJS後端Docker優化
- 使用 Dynatrace 對 Node.js 應用的效能資料進行分析Node.js
- 使用Microsoft的IoC框架:Unity來對.NET應用進行解耦ROS框架Unity解耦
- 使用O-LLVM和NDK對Android應用進行混淆LVMAndroid
- 使用擴充套件技術對SAP Fiori應用進行端到端的增強,一個實際案例介紹套件
- Idea進行java應用的遠端除錯Remote debuggingIdeaJava除錯REM
- 使用 Kotlin + Spring Boot 進行後端開發KotlinSpring Boot後端
- 教你使用Docker容器化Node.js應用程式DockerNode.js
- 基於PostgreSQL進行Java應用開發SQLJava
- Azure Application Gateway(二)對後端 VM 進行負載均衡APPGateway後端負載
- 使用Docker WildFly和wildfly-maven-plugin實現Java應用容器化DockerMavenPluginJava
- 如何把 Java Web 應用放在 docker 容器中執行JavaWebDocker
- Flutter應用進行自動化測試Flutter
- 在CentOS中使用docker執行nodejs應用CentOSDockerNodeJS
- 使用 Java 進行移動應用開發的 8 個理由 - VikrantJava
- 如何使用Java串列埠進行資料通訊及應用案例Java串列埠
- 使用 Docker 部署 Angular 專案DockerAngular
- Apptopia:如何對APP應用進行估值?APP
- 用於對執行慢的查詢進行優化優化