顶部左侧内容
百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Dockerfile收集(1) - jdk8+springboot,解决时区和中文乱码问题

chargingw 2024-08-06 12:46 10 浏览

# 使用官方的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文件名。

相关推荐

Exchange Server 2019 实战操作指南

基本信息镜像下载地址:https://next.itellyou.cn/Original/#文档:https://learn.microsoft.com/zh-cn/Exchange/plan-and...

电脑蓝屏怎么回事(电脑蓝屏怎么回事怎样处理)

电脑在使用的过程中,突然蓝屏。电脑不定时的自动重新启动。这种情况,可以进入系统查看蓝屏日志,进行蓝屏原因分析。蓝屏日志文件位置:蓝屏分析软件:下载蓝屏分析软件DebuggingToolsfor...

Qt中编译和设置protobuf(qt 命令行编译pro)

我们在使用Qt开发做项目开发是时候,经常会进行数据的跨平台传输,就需要对数据进行序列化,序列化的方式有很多,现在项目开发最常用就是google公司开发的protobuf。今天传输播客老师就给大...

WEB安全:深入反射式dll注入技术(反射添加注解)

一、前言dll注入技术是让某个进程主动加载指定的dll的技术。恶意软件为了提高隐蔽性,通常会使用dll注入技术将自身的恶意代码以dll的形式注入高可信进程。常规的dll注入技术使用LoadLibrar...

查看系统进程进而时时警觉木马(查看当前系统的所有进程)

什么是系统的进程对于hejb的提问,不是我钻牛角尖,而是我太忙,没时间细看提问,如果我大至发现是针对主题的提问,我就答,否我就不答,见谅。最近太忙了,希望支持我,等我闲下来会好好和各位朋友交流的!!...

俄罗斯APT组织 Turla 在攻击目标系统上部署新型后门程序

思科网络安全团队Talos称,俄罗斯国家资助的APT高级持续威胁组织Turla是此前无记录的入侵美国和德国等一系列新入侵事件的幕后黑手,该APT组织创造了恶意软件TinyTurla,这个恶意软件...

Turla(又名Pensive Ursa)工具库分析

导语:PensiveUrsa工具库中最近活跃的10种恶意软件详解看过来!Turla(又名PensiveUrsa、Uroburos、Snake)是一个至少从2004年开始运行,总部位于俄罗斯的一个攻...

俄罗斯Astra推出Microsoft、Google 和 Amazon 云的自主替代品

据cnews网8月29日报道,俄罗斯AstraCloud作为AstraGroup面向商业客户,推出了MicrosoftAzure、GoogleCloud和AmazonWebServic...

微软危机!AZURE服务瘫痪引发全球Windows系统崩溃!

近日,全球范围内爆发了一场前所未有的Windows系统崩溃危机,微软公司正紧急应对。据微软发言人透露,该问题与AZURE服务相关,他们正在全力修复,并预计很快将发布解决方案。这场“微软蓝屏”事件正在...

微软宣布于2024年11月1日终止对Azure账户的TLS 1.0/1.1支持

IT之家1月11日消息,微软宣布,将取消对所有云中现有Azure账户的传输层安全性(TLS)1.0和1.1的支持。2024年11月1日后,TLS1.2将成为Azure...

微软发布0.7预览版Dev Home更新:支持Azure扩展

IT之家11月23日消息,微软今天更新了DevHome应用,推出了0.7预览版更新,最大的亮点是支持Azure扩展,其中包括AzureDevOps(ADO)和ADO小...

微软Windows Server 26280预览版发布,调整有效期

IT之家9月7日消息,微软面向WindowsServerInsider项目成员,发布了Build26280预览版更新,最大的变化就是到期日期调整为2025年9月15日...

微软发布Windows Server 2025最新预览版26244

IT之家6月29日消息,微软公司今天面向Canary频道发布Windows11Build26244预览版更新之外,还发布了WindowsServerBuild26244...

微软将CBL-Mariner Linux发行版项目更名为“Azure Linux”

IT之家3月6日消息,CBL-Mariner是适用于微软云基础设施以及边缘产品和服务的内部Linux发行版,其中CBL是指“CommonBaseLinux”,而现在该发行版似乎...

现已修复,微软Microsoft 365云服务再次出现全球性宕机

IT之家7月31日消息,在影响全球850万台设备的蓝屏故障之后,微软旗下365云服务再次出现宕机事件,包括Word、PowerPoint和Outlook等云服务应用均无法正常使...