Docker 部署Springboot 專案
阿新 • • 發佈:2020-12-31
Docker 環境部署參照:https://www.cnblogs.com/oneMr/p/14200760.html
簡單 Springboot 專案
新建一個 Springboot 專案,寫一個簡單的Controller
@RestController public class HelloController { @RequestMapping("/") public String hello() { return "Hello Docker"; } }
在 pom 檔案中新增 Docker 映象名稱
<properties> <java.version>1.8</java.version> <docker.image.prefix>docker</docker.image.prefix> </properties>
plugins 中新增 Docker 構建外掛:
<build> <plugins> <!--Docker 外掛--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!-- Docker maven plugin --> <plugin> <groupId>com.spotify</groupId> <artifactId>docker-maven-plugin</artifactId> <version>1.0.0</version> <configuration> <imageName>${docker.image.prefix}/${project.artifactId}</imageName> <dockerDirectory>src/main/docker</dockerDirectory> <resources> <resource> <targetPath>/</targetPath> <directory>${project.build.directory}</directory> <include>${project.build.finalName}.jar</include> </resource> </resources> </configuration> </plugin> <!-- Docker maven plugin --> </plugins> </build>
在src/main/docker 下建立 Dockerfile 檔案(無後綴名),地址即為外掛中的<dockerDirectory>
Dockerfile 檔案內容(ADD 後對應自己的 jar 包名稱):
# 新增 Java 8 映象來源 FROM java:8 VOLUME /tmp # 新增 Spring Boot 包 ADD docker-1.0.jar /app.jar # 執行啟動命令 ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
完成後打包專案
使用 Docker 部署 Spring Boot 專案
將 jar 包和 Dockerfile 上傳到伺服器的同一個資料夾下
輸入命令構建映象(helloworld 為映象名,注意後面有個點表示當前目錄)
docker build -t helloworld .
檢視映象:
docker images
執行映象:
docker run -d -p 8081:8080 --name helloworld helloworld
檢視正在執行的映象:
docker ps
訪問地址 ip:8081/