目錄
1.修改docker的設定檔
#2.設定埠開放
3.IDEA安裝Docker外掛程式
5.1 安裝pom依賴
安裝外掛:Docker-maven-plugin
在build映像之前,我們需要先進行專案的打包操作
在我們伺服器內執行
首頁 Java java教程 idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

May 21, 2023 pm 09:28 PM
docker idea springboot

1.修改docker的設定檔

修改檔案資訊路徑如下:
/etc/docker/daemon.json
在設定檔中加入以下內容:

 "hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
登入後複製

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

注意:如果沒有這個daemon.json,就自己在/etc/docker/目錄下創建一個

touch daemon.json
登入後複製

tcp是開啟遠端訪問,unix是本機訪問,不開啟本機訪問,在伺服器上使用時會有以下錯誤:

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running ?

修改完成之後依序執行以下指令:

#重新加载配置文件                  
systemctl daemon-reload 
# 重启服务 
systemctl restart docker.service 
# 查看端口是否开启 默认端口2375 
netstat -anp|grep 2375
登入後複製

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

#2.設定埠開放

依序執行以下命令

添加指定需要开放的端口:
firewall-cmd --zone=public --add-port=2375/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=2375/tcp
登入後複製

注意:以上配置全是在防火牆開啟的情況下進行,如果未開啟系統防火牆,則無需以上配置,例如我的伺服器就沒有配置防火牆,運行時則顯示以下資訊:

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

最後我們看看我們的設定是否生效

curl http://127.0.0.1:2375/info
登入後複製

如果出現以下資訊則說明配置成功

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

3.IDEA安裝Docker外掛程式

如果你的idea版本較高,則內建了docker外掛程式

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

##如果沒有也不要擔心,我們自行安裝即可

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

4.IDEA配置docker

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署##注意:我上面的192.168.1.2是我自己的伺服器Ip,只需修改成你的docker所在伺服器ip即可

點擊Apply之後會在你的service中彈出

點擊連接,我們就會發現我們docker配置的容器資訊

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署5.SpringBoot整合Docker設定

5.1 安裝pom依賴

安裝外掛:Docker-maven-plugin

 <!--docker-maven-plugin插件打包-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!--镜像名称-->
                    <imageName>${project.artifactId}</imageName>
                    <!--指定标签-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!--基础镜像jdk1.8-->
                    <baseImage>java</baseImage>
                    <!--制作者提供本人信息-->
                    <maintainer>ninesun@qq.com</maintainer>
                    <!--切换到Root目录-->
                    <workdir>/ROOT</workdir>
                    <cmd>["java", "-version"]</cmd>
                    <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>

                    <!--指定DockerFile路径-->
                    <!--                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>-->

                    <!--指定远程docker api地址-->
                    <dockerHost>http://192.168.1.2:2375</dockerHost>

                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/ROOT</targetPath>
                            <!--用于指定需要复制的根目录-->
                            <directory>${project.build.directory}</directory>
                            <!--用于指定需要复制的jar文件-->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
登入後複製

我所有的maven配置如下:



    4.0.0
    
        org.springframework.boot
        spring-boot-starter-parent
        2.6.6
         
    
    com.example
    docker
    0.0.1-SNAPSHOT
    docker
    docker
    
        11
        true
        true
    
    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            org.springframework.boot
            spring-boot-starter-test
            test
        
    

    
        
            
                org.springframework.boot
                spring-boot-maven-plugin
            
            <!--docker-maven-plugin插件打包-->
            <plugin>
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <!--镜像名称-->
                    <imageName>${project.artifactId}</imageName>
                    <!--指定标签-->
                    <imageTags>
                        <imageTag>latest</imageTag>
                    </imageTags>
                    <!--基础镜像jdk1.8-->
                    <baseImage>java</baseImage>
                    <!--制作者提供本人信息-->
                    <maintainer>ninesun@qq.com</maintainer>
                    <!--切换到Root目录-->
                    <workdir>/ROOT</workdir>
                    <cmd>["java", "-version"]</cmd>
                    <entryPoint>["java", "-jar", "${project.build.finalName}.jar"]</entryPoint>

                    <!--指定DockerFile路径-->
                    <!--                    <dockerDirectory>${project.basedir}/src/main/docker</dockerDirectory>-->

                    <!--指定远程docker api地址-->
                    <dockerHost>http://192.168.1.2:2375</dockerHost>

                    <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                    <resources>
                        <resource>
                            <targetPath>/ROOT</targetPath>
                            <!--用于指定需要复制的根目录-->
                            <directory>${project.build.directory}</directory>
                            <!--用于指定需要复制的jar文件-->
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        
    

登入後複製

注意:在我們拉取插件成功之後,我們會發現目錄結構變成如下所示:

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署我們需要刪除一個啟動類,否則會導致打包失敗,我將DockerApplication直接刪除了

5.2 build映像

在build映像之前,我們需要先進行專案的打包操作

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署透過cmd進入到我們的專案目錄

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署#執行

mvn docker:build
登入後複製

出現以下訊息表示打包成功

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署接下來回到我們的idea,可以看到

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署這就是我們打包好的鏡像

在伺服器上執行

docker images
登入後複製

也可以看到該映像的資訊

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署5.3 啟動映像

在我們伺服器內執行

docker run -d --name idea-docker-test -p 8089:8080 docker
登入後複製

註:我之所以暴露出8089端口,只要是因為8080衝突了,自己看自己的情況改就好

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署接下來我們訪問一下我們寫的測試介面:

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

可以看到已經部署成功,同時也可存取成功了

idea怎麼快速實現將SpringBoot專案打包Docker映像並部署

#我們可以看到在Idea裡也可看到了我們剛剛啟動成功的鏡像以及輸出的日誌

以上是idea怎麼快速實現將SpringBoot專案打包Docker映像並部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

docker版本怎麼看 docker版本怎麼看 Apr 15, 2025 am 11:51 AM

要獲取 Docker 版本,您可以執行以下步驟:運行 Docker 命令“docker --version”來查看客戶端和服務器版本。對於 Mac 或 Windows,還可以通過 Docker Desktop GUI 的“版本”選項卡或“關於 Docker Desktop”菜單查看版本信息。

docker怎麼創建鏡像 docker怎麼創建鏡像 Apr 15, 2025 am 11:27 AM

創建 Docker 鏡像步驟:編寫包含構建指令的 Dockerfile。在終端中構建鏡像,使用 docker build 命令。標記鏡像,使用 docker tag 命令分配名稱和標籤。

docker鏡像源怎麼換國內 docker鏡像源怎麼換國內 Apr 15, 2025 am 11:30 AM

可切換到國內鏡像源,步驟如下:1. 編輯配置文件 /etc/docker/daemon.json,添加鏡像源地址;2. 保存退出後,重啟 Docker 服務 sudo systemctl restart docker,即可提升鏡像下載速度和穩定性。

docker怎麼查看日誌 docker怎麼查看日誌 Apr 15, 2025 pm 12:24 PM

查看 Docker 日誌的方法包括:使用 docker logs 命令,例如:docker logs CONTAINER_NAME使用 docker exec 命令運行 /bin/sh 並查看日誌文件,例如:docker exec -it CONTAINER_NAME /bin/sh ; cat /var/log/CONTAINER_NAME.log使用 Docker Compose 的 docker-compose logs 命令,例如:docker-compose -f docker-com

docker容器名稱怎麼查 docker容器名稱怎麼查 Apr 15, 2025 pm 12:21 PM

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

docker desktop怎麼用 docker desktop怎麼用 Apr 15, 2025 am 11:45 AM

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

docker鏡像怎麼保存 docker鏡像怎麼保存 Apr 15, 2025 am 11:54 AM

在 Docker 中保存鏡像,可以使用 docker commit 命令創建新的鏡像,包含指定容器的當前狀態,語法為:docker commit [選項] 容器ID 鏡像名稱。要保存鏡像到倉庫,可以使用 docker push 命令,語法為:docker push 鏡像名稱[:標籤]。要導入已保存的鏡像,可以使用 docker pull 命令,語法為:docker pull 鏡像名稱[:標籤]。

docker怎麼更新鏡像 docker怎麼更新鏡像 Apr 15, 2025 pm 12:03 PM

更新 Docker 鏡像的步驟如下:拉取最新鏡像標記新鏡像為特定標籤刪除舊鏡像(可選)重新啟動容器(如果需要)

See all articles