Docker部署sprintboot后端项目

创建Docker网络

docker network create icjs

部署Redis

复制代码
docker run -d \
  --network icjs \
  --name redis \
  -p 6379:6379 \
  redis:latest

编写Dockerfile

复制代码
# 使用 JDK 17 的基础镜像
FROM ghcr.io/graalvm/graalvm-ce:latest

# 设置工作目录
WORKDIR /app

RUN echo "Asia/Shanghai" > /etc/timezone
RUN mkdir -p /app/logs
RUN mkdir -p /usr/local/file
RUN mkdir -p /usr/local/pay-cert
# 将 jar 包复制到镜像中(假设 jar 包在当前目录)
COPY nice-coding-backend.jar /app/nice-coding-backend.jar

# 声明需要持久化的目录
VOLUME ["/usr/local/file", "/usr/local/pay-cert"]

EXPOSE 8081

# 启动 jar 包
ENTRYPOINT ["java", "-Xms5g", "-Xmx5g", "-Dfile.encoding=utf-8", "-jar", "/app/nice-coding-backend.jar", "--spring.profiles.active=prod"]

部署后端

复制代码
docker run -e REDIS_HOST=redis -e REDIS_PORT=6379 -d \
  --network icjs \
  -p 8026:8081 \
  -v $(pwd)/data/file:/usr/local/file \
  -v $(pwd)/data/pay-cert:/usr/local/pay-cert \
  --name nice-coding-backend \
  nice-coding-backend

如果有相关中间件部署时需要加 --network icjs 将容器桥接到指定的网络

相关推荐
知星小度S1 分钟前
Linux权限探秘:驾驭权限模型,筑牢系统安全
linux·运维·服务器
Kaede63 小时前
如何应对Linux云服务器磁盘空间不足的情况
linux·运维·服务器
Kookoos6 小时前
Dynamics 365 Finance + Power Automate 自动化凭证审核
运维·自动化·dynamics 365·power automate
努力学习的小廉9 小时前
深入了解linux系统—— 进程池
linux·运维·服务器
MickeyCV9 小时前
使用Docker部署MySQL&Redis容器与常见命令
redis·mysql·docker·容器·wsl·镜像
秃头菜狗10 小时前
各个主要目录的功能 / Linux 常见指令
linux·运维·服务器
棠十一10 小时前
Rabbitmq
分布式·docker·rabbitmq
jiunian_cn11 小时前
【Linux】centos软件安装
linux·运维·centos
藥瓿亭11 小时前
K8S认证|CKS题库+答案| 6. 创建 Secret
运维·ubuntu·docker·云原生·容器·kubernetes·cks
2302_8097983211 小时前
【JavaWeb】Docker项目部署
java·运维·后端·青少年编程·docker·容器