网站首页 > 教程文章 正文
# 使用官方的OpenJDK 8基础镜像
FROM openjdk:8-jre-alpine
# 设置时区为Asia/Shanghai
RUN apk --no-cache add tzdata \
&& cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \
&& apk del tzdata
# 设置工作目录
WORKDIR /app
# 复制构建好的Java Spring Boot JAR文件到工作目录
COPY target/your-spring-boot-app.jar /app
# 设置环境变量以解决中文乱码问题
ENV LANG=C.UTF-8
# 暴露应用程序的端口(替换为你的应用程序实际使用的端口)
EXPOSE 8080
# 定义启动命令
CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "your-spring-boot-app.jar"]
- FROM openjdk:8-jre-alpine:
FROM: 指定基础镜像。
openjdk:8-jre-alpine: 使用OpenJDK 8 JRE镜像,基于Alpine Linux。
- WORKDIR /app:
WORKDIR: 设置工作目录,后续命令都在这个目录下执行。
/app: 工作目录的路径,这里设置为/app。
- RUN apk --no-cache add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && apk del tzdata:
RUN: 在构建过程中执行的命令。
apk --no-cache add tzdata: 安装tzdata包,Alpine Linux中的时区配置工具。
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime: 设置时区为Asia/Shanghai。
echo "Asia/Shanghai" > /etc/timezone: 再次确认时区设置。
apk del tzdata: 删除tzdata包,清理安装时产生的临时文件。
- ENV LANG=C.UTF-8:
ENV: 设置环境变量。
LANG=C.UTF-8: 设置LANG环境变量为C.UTF-8,解决中文乱码问题。
- COPY target/your-spring-boot-app.jar /app:
COPY: 复制文件或目录到容器中。
target/your-spring-boot-app.jar: 构建好的Spring Boot应用程序的JAR文件。
/app: 目标路径,将JAR文件复制到工作目录。
- EXPOSE 8080:
EXPOSE: 声明容器要监听的端口。
8080: Spring Boot应用程序默认使用的端口,可以根据实际情况修改。
- CMD ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "your-spring-boot-app.jar"]:
CMD: 容器启动时执行的命令。
java: Java运行时。
-Djava.security.egd=file:/dev/./urandom: 设置随机数生成器,提高应用程序启动性能。
-jar: 指定要运行的JAR文件。
your-spring-boot-app.jar: 替换为实际的Spring Boot应用程序JAR文件名。
猜你喜欢
- 2024-12-11 Docker核心:深入理解Dockerfile
- 2024-12-11 教你测试开发丨测试小白也能听懂的Docker讲解和应用
- 2024-12-11 使用dockerfile部署springboot应用
- 2024-12-11 docker容器中使用java8并行流遇到的坑(线上)
- 2024-12-11 java 打包并上传到hub.docker.com上
- 2024-12-11 使用 Docker 部署 Spring Boot 项目,带劲
- 2024-12-11 全面升级!一套基于Spring Boot 3+JDK17的实战项目!
- 2024-12-11 银河麒麟V10 arm架构docker制作Dragonwell jdk镜像
- 2024-12-11 一文详解 Jenkins 与 Docker 的自动化 CI/CD 实战
- 2024-12-11 docker安装jenkins并且通过jenkins部署项目
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- md5 sha1 (32)
- mybatis plus page (35)
- semaphore 使用详解 (32)
- update from 语句 (32)
- vue @scroll (38)
- 堆栈区别 (33)
- 在线子域名爆破 (32)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)