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

前言

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

源碼在文末

文末有項目源碼的github地址nginx

構建一個SpringBoot項目

本人最先的一篇文章,就是教你們如何使用Spring Initialise工具,快速的建立一個SpringBoot項目,若是還不懂的,能夠翻一下本人的第一篇文章,這裏就很少講了。下面貼一下主要的文件內容:git

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

<!-- 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值爲:spring

<docker.image.prefix>happy</docker.image.prefix>
複製代碼

dockerDirectory配置了Dockerfile的路徑爲:src/main/docker,因此,咱們須要在src/main目錄下,建立docker目錄,而後建立Dockerfile文件。總體的目錄結構以下:docker

Dockerfile

Dockerfile文件內容以下:shell

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

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

添加測試接口

爲了方便測試,能夠添加一個GET請求的接口,以下:bash

@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比較長的時間)app

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上,歡迎你們關注:

github.com/Happy4Java/…

關注公衆號領資料

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

關注Happyjava公衆號

原創聲明

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

相關文章
相關標籤/搜索