创建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
将容器桥接到指定的网络