网站首页 > 教程文章 正文
# 使用官方的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部署项目
- 06-18CentOS7安装Mongodb 4.x.x(centos7安装openstack)
- 06-18Window环境配置Mongodb(mongodb默认配置文件路径)
- 06-18FineReport如何连接和使用MongoDB数据库
- 06-18nosql之mongodb(nosql怎么读正确发音)
- 06-18Mongodb centos7安装(mongodb4.4.2安装教程)
- 06-18群晖(Synology)NAS 安装 MongoDB(群晖安装nat123)
- 06-18MongoDB 安装及实践(mongodb的安装过程和操作命令)
- 06-18MongoDB最全详解(万字图文总结)(mongodb lsm)
- 最近发表
-
- CentOS7安装Mongodb 4.x.x(centos7安装openstack)
- Window环境配置Mongodb(mongodb默认配置文件路径)
- FineReport如何连接和使用MongoDB数据库
- nosql之mongodb(nosql怎么读正确发音)
- Mongodb centos7安装(mongodb4.4.2安装教程)
- 群晖(Synology)NAS 安装 MongoDB(群晖安装nat123)
- MongoDB 安装及实践(mongodb的安装过程和操作命令)
- MongoDB最全详解(万字图文总结)(mongodb lsm)
- CentOS安装MongoDB教程(centos安装mpich)
- MongoDB入门指南:下载、安装和配置一款强大的NoSQL数据库
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (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)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)