在項目根目錄下增加Dockerfile文件
# 使用基礎鏡像
FROM maven:3.8.4-openjdk-17-slim AS build
# 設置工作目錄
WORKDIR /app
# 復制項目源代碼
COPY . .
# 構建項目
RUN mvn clean package -DskipTests
# 驗證JAR包是否生成
RUN ls -l target/your-project.jar
# 使用合適的基礎鏡像,如openjdk:17-jdk-slim
FROM openjdk:17-jdk-slim
# 設置工作目錄
WORKDIR /app
# 復制項目JAR包到容器內,需根據實際打包后的文件名調整
COPY --from=build /app/target/your-project.jar your-project.jar
# 創建日志目錄
RUN mkdir -p /app/log
# 暴露項目運行端口,根據實際情況修改
EXPOSE 8092
# 啟動命令
ENTRYPOINT ["java", "-Xmx512m", "-Xms256m", "-jar", "your-project.jar"]
在阿里云界面點擊新建流水線
根據你項目語言不同創建對應的流水線模板
點擊流水線源配置你的代碼倉庫地址并選擇分支,代碼源根據你的實際情況選擇,我是codeup上
在構建這里,設置步驟,構建鏡像并上傳,填寫你的倉庫地址
最后就是docker部署,編輯部署腳本
腳本示例
#部署腳本會在部署組的每臺機器上執行。一個典型Docker部署腳本如下:
#示例中使用的$image是您在腳本下方的變量處定義的變量(上游輸出或自定義)
#docker run $image
echo $DOCKER_PASSWORD | docker login --username $DOCKER_USER --password-stdin registry.cn-shanghai.aliyuncs.com
docker images --format "{{.Repository}}:{{.Tag}} {{.ID}} {{.CreatedAt}}" | grep "registry.cn-shanghai.aliyuncs.com/iaar/*****" | sort -k3 -r | tail -n +2 | awk '{print $2}' | xargs docker rmi -f
docker image prune --filter "dangling=true" -f
docker rm -f *****-back
docker run --restart=always -d -p 8092:8092 --name ****-back -v /root/zdy/docker/log/*****:/app/log $image
點擊保存并運行即可