【快學SpringBoot】SpringBoot+Docker構建、運行、部署應用


前言

Docker技術發展為當前流行的微服務提供了更加便利的環境,使用SpringBoot+Docker部署和發布應用,其實也是一件比較簡單的事情。當前,前提是得有Docker的基礎。

源碼在文末

文末有項目源碼的github地址

構建一個SpringBoot項目

本人最早的一篇文章,就是教大家如何使用Spring Initialise工具,快速的創建一個SpringBoot項目,如果還不懂的,可以翻一下本人的第一篇文章,這里就不多講了。下面貼一下主要的文件內容:

pom文件的大部分內容這里就不貼了,主要貼關鍵的內容,主要的就是maven-docker的打包插件:

<!-- 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 -->

這里的docker.image.prefix值為:

<docker.image.prefix>happy</docker.image.prefix>

dockerDirectory配置了Dockerfile的路徑為:src/main/docker,所以,我們需要在src/main目錄下,創建docker目錄,然后創建Dockerfile文件。整體的目錄結構如下:

Dockerfile

Dockerfile文件內容如下:

FROM openjdk
VOLUME /tmp
ADD springboot-docker-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]

到這里,已經完成了SpringBoot+Docker的配置了,接下來就是打包部署了。

添加測試接口

為了方便測試,可以添加一個GET請求的接口,如下:

@SpringBootApplication
@RestController
public class SpringbootDockerApplication {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootDockerApplication.class, args);
    }

    @GetMapping(value = "/test")
    public Object test() {
        return "Hello SpringBoot with Docker!";
    }

}

maven打包

使用maven構建Dockerfile的命令如下:(先把maven和Docker都設置為國內的源,否則需要build比較長的時間)

mvn package docker:build

在springboot-docker目錄根路徑下執行此命令即可。

需要本地安裝了Docker才能夠打包成功,否則會報錯。關於Docker的安裝,Linux的用戶可以根據我之前的文章進行安裝,其他系統的用戶可以自行搜索安裝即可。推薦使用Linux。

比如本人,Docker是安裝在Linux虛擬機上的,直接把springboot-docker目錄拷貝到Linux機器上:

執行打包命令,輸入如下:

看到BUILD SUCCESS即表示構建成功了,這時候就可以通過docker images命令,查看我們構建的鏡像了:

鏡像構建完之后,我們還可以把它推到Docker的倉庫上。這里就不展開來講了。

使用該鏡像創建容器

命令如下:

docker run -it -d --name springboot -p 8080:8080 happy/springboot-docker

這里創建並且啟動一個容器,命名為springboot,映射端口為8080:8080

可以通過如下命令查看啟動日志:

docker logs springboot

訪問測試接口

源碼下載

源碼我放在github上,歡迎大家關注:

https://github.com/Happy4Java/hello-springboot

關注公眾號領資料

搜索公眾號【Happyjava】,回復【電子書】和【視頻】,即可獲取大量優質電子書和大數據、kafka、nginx、MySQL等視頻資料

關注Happyjava公眾號

原創聲明

本文發布於掘金號【Happyjava】。Happy的掘金地址:https://juejin.im/user/5cc2895df265da03a630ddca,Happy的個人博客:(http://blog.happyjava.cn)[http://blog.happyjava.cn]。歡迎轉載,但須保留此段聲明。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM