一:clean && install程序
install之后會在target中生成jar包? ? ? ??
二:準備三個文件
(1)其中Dockerfile主要起到配置作用:
# 基礎鏡像
FROM openjdk:17-jdk-slim
# 作者
MAINTAINER "××××"
# 配置
ENV PARAMS=""
# 時區
ENV TZ=PRC
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
# 添加應用
ADD target/*****.jar /*****.jar
## 在鏡像運行為容器后執行的命令
ENTRYPOINT ["sh","-c","java -jar $JAVA_OPTS /*****.jar $PARAMS"]
(2)執行build.sh的命令
docker build -f "F:\work\...\Dockerfile" -t ×××/你想要的名字(想要在Docker中image的名字) .
其中 Dockerfile就是第一步的,這里可以寫絕對路徑。
請注意:該命令最后一個.不要刪除!(Docker 會將這個路徑下的所有文件和目錄打包發送給 Docker 引擎,只有這個上下文中的文件才能被 Dockerfile 訪問。)
這里需要注意的是在Dockerfile中的ADD這一行 target/*****.jar 這個jar包的路徑是相對路徑!不如你如果寫 ADD F:/work/.../*****.jar會被 Docker 解釋為?./F:/work/.../*****.jar
,這顯然是不存在的路徑。
這里如果出現錯誤jdk什么不能下載:可以試試在docker desktop的設置中->Docker Engine中把
"buildkit":改為false
執行之后就可以在本地的Docker看到你的程序出現了(打馬賽克部分)
(3)執行start.sh命令
windows用戶把他寫成一行 可以在cmd中執行
docker run -p 8080:8080 \
--name ***** \
-d ×××/*****
運行之后 不用在IDEA中啟動程序可以使用了服務了。。。