使用IDEA部署Docker應(yīng)用指南分享
一、創(chuàng)建 Dockerfile 配置文件
在項(xiàng)目根目錄下創(chuàng)建Dockerfile文件,配置內(nèi)容如下:
# 使用官方的OpenJDK鏡像作為基礎(chǔ)鏡像 FROM openjdk:17-jdk-slim # 設(shè)置維護(hù)者信息(可選) LABEL maintainer="三木豪" # 設(shè)置工作目錄 WORKDIR /app # 將本地構(gòu)建好的jar包復(fù)制到容器中 COPY runner/target/runner-0.0.1-SNAPSHOT.jar /app/runner.jar # 暴露應(yīng)用運(yùn)行的端口,默認(rèn)Spring Boot應(yīng)用會監(jiān)聽8080端口 EXPOSE 8080 # 設(shè)置環(huán)境變量(可選),比如時(shí)區(qū)等 ENV TZ=Asia/Shanghai RUN ln -snf /usr/share/zoneinfo/\$TZ /etc/localtime && echo \$TZ > /etc/timezone # 啟動命令,使用java -jar命令來啟動應(yīng)用 ENTRYPOINT \["java", "-jar", "/app/runner.jar"]

二、配置 IDEA 的 Docker 連接
- 打開 IDEA 的設(shè)置頁面(
File→Settings) - 在左側(cè)導(dǎo)航欄中選擇 構(gòu)建、執(zhí)行、部署→Docker
- 點(diǎn)擊右上角的
+號添加 Docker 連接 - 選擇連接方式(示例中選擇
SSH連接),并填寫相關(guān)連接信息 - 點(diǎn)擊
確認(rèn)完成連接配置

三、配置 Docker 運(yùn)行 / 調(diào)試環(huán)境
點(diǎn)擊 IDEA 頂部菜單欄的Run→編輯配置(或直接點(diǎn)擊工具欄中的運(yùn)行配置下拉框選擇編輯配置)
在彈出的窗口中:
- 點(diǎn)擊左上角
+號,選擇Docker→Dockerfile - 在
服務(wù)器選項(xiàng)中選擇剛剛配置的 Docker 服務(wù)連接(示例中為 “騰訊云”) - 在
Dockerfile選項(xiàng)中選擇項(xiàng)目根目錄下的Dockerfile文件 - 設(shè)定
鏡像標(biāo)記(示例中為adminzoo)
配置容器相關(guān)參數(shù):
- 容器名稱:
adminzoo - 綁定端口:
9802:9491(格式為主機(jī)端口:容器端口) - 運(yùn)行選項(xiàng):
--network ubuntu_app_network(根據(jù)實(shí)際網(wǎng)絡(luò)需求配置)
點(diǎn)擊應(yīng)用→確定完成配置

四、構(gòu)建并運(yùn)行 Docker 鏡像
- 在 IDEA 頂部的運(yùn)行配置下拉框中,選擇剛剛配置好的 Docker 運(yùn)行環(huán)境
- 點(diǎn)擊運(yùn)行按鈕(綠色三角形)
- 觀察 IDEA 底部的控制臺輸出,可查看 Docker 的鏡像構(gòu)建過程、運(yùn)行狀態(tài)及應(yīng)用日志

注意事項(xiàng)
- 確保本地已構(gòu)建好對應(yīng)的 Jar 包(示例中為
runner/target/runner-0.0.1-SNAPSHOT.jar),否則會出現(xiàn)文件復(fù)制失敗的錯(cuò)誤 - 端口映射需確保主機(jī)端口未被占用,且容器內(nèi)部應(yīng)用監(jiān)聽的端口與
EXPOSE指令及映射配置一致 - 若需要連接其他容器服務(wù),需確保在同一網(wǎng)絡(luò)中(可通過
--network參數(shù)指定)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Spark實(shí)現(xiàn)隨機(jī)森林代碼
這篇文章主要為大家詳細(xì)介紹了基于Spark實(shí)現(xiàn)隨機(jī)森林代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
基于strict-origin-when-cross-origin問題的解決
這篇文章主要介紹了基于strict-origin-when-cross-origin問題的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Springboot項(xiàng)目引入druid安裝部署使用教程
這篇文章主要介紹了Springboot項(xiàng)目引入druid安裝部署使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-01-01
java基于jdbc連接mysql數(shù)據(jù)庫功能實(shí)例詳解
這篇文章主要介紹了java基于jdbc連接mysql數(shù)據(jù)庫功能,結(jié)合實(shí)例形式詳細(xì)分析了jdbc連接mysql數(shù)據(jù)庫的原理、步驟、實(shí)現(xiàn)方法及相關(guān)操作技巧,需要的朋友可以參考下2017-10-10
PostgreSQL Docker部署+SpringBoot集成方式
本文介紹了如何在Docker中部署PostgreSQL和pgadmin,并通過SpringBoot集成PostgreSQL,主要步驟包括安裝PostgreSQL和pgadmin,配置防火墻,創(chuàng)建數(shù)據(jù)庫和表,以及在SpringBoot中配置數(shù)據(jù)源和實(shí)體類2024-12-12
Java基礎(chǔ)之ArrayList的擴(kuò)容機(jī)制
這篇文章主要介紹了Java基礎(chǔ)之ArrayList的擴(kuò)容機(jī)制,文中有非常詳細(xì)的代碼示例,對正在學(xué)習(xí)java基礎(chǔ)的小伙伴們有很好的幫助,需要的朋友可以參考下2021-05-05

