溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

idea如何整合docker快速部署springboot應用

發(fā)布時間:2021-10-31 11:34:03 來源:億速云 閱讀:184 作者:小新 欄目:開發(fā)技術

小編給大家分享一下idea如何整合docker快速部署springboot應用,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

一、前言

容器化一詞相信大家已經不陌生了,聽到它我們可能會想到docker、k8s、jenkins、rancher等等。那么今天我來說一下idea如何使用docker快速部署springboot應用。

二、環(huán)境及工具

  • windows10(開發(fā))

  • centos 7.6 (部署)

  • idea

  • docker

  • xshell

三、安裝docker以及配置遠程連接

安裝docker步驟網上有很多,在這里還是再說一下:

先更新一波

sudo yum update

安裝最新的docker

yum install docker -y

idea如何整合docker快速部署springboot應用

啟動docker

systemctl start docker

使用docker images可以查看鏡像狀態(tài),如下圖所示代表啟動成功(目前里面沒有鏡像)

idea如何整合docker快速部署springboot應用

如果是如下圖所示,則代表啟動失敗

idea如何整合docker快速部署springboot應用

開啟docker遠程連接
編輯docker.service文件

vim /lib/systemd/system/docker.service

打開后,內容如下所示:

idea如何整合docker快速部署springboot應用

在綠色光標那一行添加如下:

# centos7及以上
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
# centos7以下
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

這里我使用其他端口,如12377,改完后,內容如下圖所示:

idea如何整合docker快速部署springboot應用

保存完畢后對配置文件進行重載,并重啟docker:

systemctl daemon-reload 
systemctl restart docker

為了檢查12377端口是否被監(jiān)聽,執(zhí)行lsof -i:12377

idea如何整合docker快速部署springboot應用

如果使用的是云服務器則需要開啟12377防火墻規(guī)則,如果使用默認的2375端口,只是虛擬機或者內網使用倒也無所謂,如果暴露在公網,估計第二天就會發(fā)現(xiàn)你的cpu爆滿,掛載了大量馬、礦程序,有時間的同學可以進一步配置安全配置,這里可以自行搜索。

四、idea連接遠程docker

安裝插件docker

idea如何整合docker快速部署springboot應用

配置連接
安裝完畢后,找到setting中如下圖位置

idea如何整合docker快速部署springboot應用

在TCP socket配置你的docker地址,格式如下:
tcp://ip:12377,填寫完后,稍等一小會兒,下邊會進行連接測試,連接成功后會如上圖顯示連接成功。 五、springboot項目配置docker pom配置
博主當前項目打包方式是jar包,pom中properties配置如下

<properties>
    <!--properties節(jié)點中設置docker鏡像的前綴“springboot”-->
    <docker.image.prefix>springboot</docker.image.prefix>
</properties>

build中配置如下:

 <build>
        <finalName>docker-demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
            </plugin>
            <plugin>
                <!-- docker-maven插件-->
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <dockerHost>http://ip:12377</dockerHost>
                    <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>
        </plugins>
    </build>

resources是為了找到打好的jar,dockerDirectory是為了找到項目中配置的Dockerfile,imageName則是鏡像名稱

創(chuàng)建Dockerfile(注意Dockerfile不是駝峰命名)
結構如下圖所示

idea如何整合docker快速部署springboot應用

Dockerfile文件內容:

FROM williamyeh/java8 # 源可以使用 docker search java8搜索得到的第一個源
VOLUME /tmp
ADD docker-demo.jar /app/docker-demo.jar
#COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "/app/docker-demo.jar"]

FROM :指定基礎鏡像,必須為第一個命令
VOLUME : 用于指定持久化目錄
ADD : 將本地文件添加到容器中,tar類型文件會自動解壓(網絡壓縮資源不會被解壓),可以訪問網絡資源,類似wget
ENTRYPOINT : 配置容器,使其可執(zhí)行化

其余指令可以自行搜索

  • 到此為止,需要的配置已經完成,接下來開始運行

  • 找到idea右側的maven窗口,執(zhí)行clean

idea如何整合docker快速部署springboot應用

clean完畢后再執(zhí)行package進行打包

idea如何整合docker快速部署springboot應用

然后執(zhí)行如圖所示的docker:build

idea如何整合docker快速部署springboot應用

在這個過程中會在target目錄下創(chuàng)建docker文件夾,并把Dockerfile文件和生成的jar包拷貝下來,然后根據(jù)Dockerfile中的配置拉取基礎鏡像,傳送jar到服務器指定位置,再進行鏡像制作。BUILD SUCCESS后點擊idea底部的Services

idea如何整合docker快速部署springboot應用

窗口如下

idea如何整合docker快速部署springboot應用

雙擊Docker進行連接,連接成功后我們能夠看到鏡像和容器運行狀況:

idea如何整合docker快速部署springboot應用

然后就可以右擊springboot/**:latest鏡像創(chuàng)建容器

idea如何整合docker快速部署springboot應用

彈出create選項,進行創(chuàng)建配置

idea如何整合docker快速部署springboot應用

在里面配置容器名稱以及運行選項,最后點擊run運行容器。在Services窗口中我們能夠看到容器的運行日志:

idea如何整合docker快速部署springboot應用

以上是“idea如何整合docker快速部署springboot應用”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經查實,將立刻刪除涉嫌侵權內容。

AI