1. 程式人生 > 實用技巧 >Docker 部署Springboot 專案

Docker 部署Springboot 專案

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/