您現在的位置是:首頁 > 綜藝首頁綜藝
用Docker部署SpringBoot應用程式
8g伺服器能執行幾個spring boot docker
Docker是一個用於建立容器的流行平臺——一組標準化的軟體單元,它們在單個包中組裝程式碼、執行時、依賴項、設定和初始化,您可以從一個計算環境可靠地執行到另一個包。將應用程式部署為Docker容器可以幫助您在多個環境(即dev、QA、暫存、生產)中順利地移動應用程式。
本教程向您展示瞭如何利用Docker部署SpringBoot應用程式。
你需要的是:
Java 8+:用SDKMAN或直接來自AdoptOpenJDK
Docker:我推薦Docker Desktop
免費的Okta developer account稍後提供更多資訊
建立一個SpringBoot應用程式
你會用Docker的幫助下生成SpringBoot專案HTTPie,一個簡單的命令列HTTP客戶機。
如果不想使用命令列,可以直接使用SpringInitializr網站。
從命令列中只需輸入:
http https://start。spring。io/starter。zip \
dependencies==web,okta \
groupId==com。okta。spring-docker。demo \
packageName==com。okta。spring-docker。demo \
——download
然後解壓縮下載的檔案。
unzip demo。zip -d spring-boot-docker
cd spring-boot-docker
接下來,透過建立檔案新增一個web控制器
src/main/java/com/okta/springdocker/demo/WebController。java
:
package com。okta。springdocker。demo;
import org。springframework。web。bind。annotation。RequestMapping;
import org。springframework。web。bind。annotation。ResponseBody;
import org。springframework。web。bind。annotation。RestController;
@RestController
public class WebController {
@RequestMapping(“/”)
public String home() {
return “Welcome!”;
}
}
您還需要配置此專案的安全設定。目前,您希望允許所有的請求,所以更新您的
DemoApplication。java
存檔如下:
package com。okta。springdocker。demo;
import org。springframework。boot。SpringApplication;
import org。springframework。boot。autoconfigure。SpringBootApplication;
import org。springframework。context。annotation。Configuration;
import org。springframework。security。config。annotation。web。builders。HttpSecurity;
import org。springframework。security。config。annotation。web。configuration。WebSecurityConfigurerAdapter;
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication。run(DemoApplication。class, args);
}
@Configuration
static class OktaOAuth2WebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http。authorizeRequests()。anyRequest()。permitAll();
}
}
}
您可以透過以下方式編譯和執行您的應用程式:
。/mvnw package
java -jar target/demo-0。0。1-SNAPSHOT。jar
將SpringBootApp作為一個Docker容器執行
要將應用程式作為Docker容器執行
第一步就是安裝docker。
安裝之後,是時候構建您的容器了。
為此,Docker使用一個描述如何組裝容器的檔案,稱為Dockerfile。這個Dockerfile由在容器中執行的一步一步的指令組成。
注:
向伸出援助之手Dockerfile reference有關可以使用的所有命令的說明。
對於SpringBoot應用程式,您將使用一個簡單的
Dockerfile
檔案:
現在,您可以在命令列上構建容器。在替換
okta:spring_boot_docker
帶著
標籤
根據您的喜好,它將用作引用您正在構建的容器的名稱:
docker build 。 -t okta:spring_boot_docker
如果一切順利,您現在可以執行您的Dockerizedapp(使用相同的
標籤
如你之前所用):
docker run ——publish=8080:8080 okta:spring_boot_docker
要阻止集裝箱,按下
Ctrl-C
。驗證容器沒有執行,執行:
docker ps
這將列出在您的機器上執行的所有容器。如果SpringBoot應用程式仍在執行,則可以使用(使用
集裝箱ID
印成
docker ps
):
docker kill
當您的JAR檔案在構建時被複制到容器中時,每次您想要使用新版本的應用程式時,都需要重新構建容器。因此,週期是:
更改您的程式碼
構建應用程式
。/mvnw package
構建容器
docker build 。 -t okta:spring_boot_docker
執行容器
docker run ——publish=8080:8080 okta:spring_boot_docker
停止集裝箱
環路
現在您已經瞭解了使用Docker容器執行應用程式的基本知識!接下來,您可以將已構建的容器釋出到Docker註冊中心(如DockerHub),這樣其他人就可以獲取容器,它就可以運行了。