Java项目部署到docker

项目打包

直接在maven->项目名->生存期->package, 双击即可在target文件夹拿到jar文件

docker部署

方式一

使用Dockerfile直接打包

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
# 使用 GraalVM 17 作为基础镜像
FROM ghcr.io/graalvm/graalvm-ce:latest

# 设置容器内的工作目录
WORKDIR /app

# 将可执行的jar文件复制到容器内
COPY target/backend-1.0.0.jar /app/backend-1.0.0.jar

# 暴露Spring Boot应用程序运行的端口
EXPOSE 8001

# 运行Spring Boot应用程序的命令
ENTRYPOINT ["java", "-jar", "/app/backend-1.0.0.jar", "--spring.profiles.active=prod"]

缺点: 还需要个容器仓库配合, 如果有CI倒是还行

方式二

不打包镜像, 直接运行

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
services:
  graalvm-app:
    image: ghcr.202816.xyz/graalvm/graalvm-ce:latest
    ports:
      - "8089:8089"
      - "9089:9089"
    working_dir: /app
    entrypoint: ["java", "-jar", "/app/backend-1.0.0.jar", "--spring.profiles.active=prod"]
    volumes:
      - /root/java_runtime:/app

这样只要jar丢到目录, 然后 docker compose restart 即可

Licensed under CC BY-NC-SA 4.0
记录平时瞎折腾遇到的各种问题, 方便查找
使用 Hugo 构建
主题 Stack 3.29.0Jimmy 设计