返回顶部
首页 > 资讯 > 服务器 >Docker Alpine镜像时区问题完美解决方案
  • 329
分享到

Docker Alpine镜像时区问题完美解决方案

2024-04-02 19:04:59 329人浏览 安东尼
摘要

最近在使用Docker 部署Java应用时发现时区不对,使用jdk获取当前时间慢8个小时用的是标准时区 解决方法: 方案1. 修改Dockerfile 设置Alpine linux系

最近在使用Docker 部署Java应用时发现时区不对,使用jdk获取当前时间慢8个小时用的是标准时区

解决方法:

方案1. 修改Dockerfile

设置Alpine linux系统时区 查找alpine linux的文档得知可以通过tzdata包来设置时区,在构建docker 镜像的时候,Dockerfile加上这句话:


RUN apk --update add tzdata && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone && \
    apk del tzdata && \
    rm -rf /var/cache/apk/*

完整的Dockerfile


FROM openjdk:8-jre-alpine3.9

RUN apk --update add tzdata && \
    cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
    echo "Asia/Shanghai" > /etc/timezone && \
    apk del tzdata && \
    rm -rf /var/cache/apk/*

# copy the packaged jar file into our docker image
COPY application.jar /application.jar

文档链接:

wiki.alpinelinux.org/wiki/Settin…

方案2. 设置JVM的系统默认时区

在启动Docker镜像的时候,通过设置user.timezone JVM环境变量来设置时区


java -jar -Duser.timezone=Asia/Shanghai app.jar

方案3. 将宿主机的时区文件挂载进Docker容器

集群方案用的是k8s,部署时将宿主机的时区文件挂载进Docker容器中


apiVersion: apps/v1
kind: Deployment
metadata:
  name: SERVICE_NAME
spec:
  replicas: 1
  selector:
    matchLabels:
      app: SERVICE_NAME
  template:
    metadata:
      labels:
        app: SERVICE_NAME
    spec:
      containers:
      - name: SERVICE_NAME
        image: IMAGE_TAG
        imagePullPolicy: Always
        ports:
        - containerPort: 80
      	volumeMounts:
        - name: tz-config
          mountPath: /etc/localtime
      volumes:
      - name: tz-config
        hostPath:
           path: /etc/localtime

查看是否正常运行


date -R

参考文档:

quaded.com/docker-apli…

blog.csdn.net/jeikerxiao/…

到此这篇关于Docker Alpine镜像时区问题解决的文章就介绍到这了,更多相关Docker Alpine镜像时区内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Docker Alpine镜像时区问题完美解决方案

本文链接: https://lsjlt.com/news/124430.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Docker Alpine镜像时区问题完美解决方案
    最近在使用Docker 部署Java应用时发现时区不对,使用jdk获取当前时间慢8个小时用的是标准时区 解决方法: 方案1. 修改Dockerfile 设置Alpine linux系...
    99+
    2024-04-02
  • Docker Alpine镜像时区问题怎么解决
    这篇文章主要介绍了Docker Alpine镜像时区问题怎么解决,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。最近在使用Docker 部署Java应用时发现时区不对,使用jd...
    99+
    2023-06-14
  • Alpine Docker镜像字体的问题解决操作
    1、运行 fonts ,打开字体文件夹,找到要用的字体文件; 2、修改Dockerfile,例如: FROM alpine-jdk ADD ./test.jar /opt/Ap...
    99+
    2024-04-02
  • 如何解决Alpine Docker镜像字体的问题
    这篇文章主要介绍如何解决Alpine Docker镜像字体的问题,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!运行 fonts ,打开字体文件夹,找到要用的字体文件;修改Dockerfile,例如:FROM ...
    99+
    2023-06-14
  • 解决docker pull镜像报错的问题
    描述: 在win10下安装VM,在VM里运行docker,使用docker pull拉取镜像时报错 一、 Get https://registry-1.docker.io/v2/:...
    99+
    2024-04-02
  • 解决docker images 镜像消失的问题
    1、50,93存在镜像消失情况 [root@h50 /]# df -h 文件系统 容量 已用 可用 已用% 挂载点 devtmpfs 24G 0 24G 0% /d...
    99+
    2024-04-02
  • NODE.JS跨域问题的完美解决方案
    这几天公司同事(前端)写页面的时候一直说拿不到想要的JSON,安卓iOS那边是可以拿到的,但他也是新手也不知道为什么只知道是js跨域问题,然后问我我也不懂前端我开始百度, 有人说是谷歌浏览器跨域要设置一下,...
    99+
    2022-06-04
    解决方案 完美 NODE
  • docker(alpine+golang) 中 hosts 不生效问题解决方法
    目录一、问题二、解决方法一、增加配置方法二、映射配置方法三、修改镜像知识点延伸一、问题 把使用 golang 开发的服务程序部署在以 alpine 为基础镜像的容器中,设置了 /etc/hosts,却没有生效,但是在终端中使用 ping 和...
    99+
    2024-04-02
  • 如何解决docker images镜像消失的问题
    这篇文章将为大家详细讲解有关如何解决docker images镜像消失的问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、50,93存在镜像消失情况[root@h60 /]# df...
    99+
    2023-06-14
  • Android输入框被挡问题完美解决方案
    目录前言正常情况下的输入框被挡Webview的输入框被挡小结WindowInsets源码解析扩展前言 前段时间出现了webview的输入框被软键盘挡住的问题,处理之后顺便对一些列的输...
    99+
    2022-12-08
    Android 输入框被挡 Android 输入框
  • Docker容器导出为镜像问题怎么解决
    今天小编给大家分享一下Docker容器导出为镜像问题怎么解决的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Docker容器导...
    99+
    2023-07-05
  • 完美解决docker安装mysql后Navicat连接不上的问题
    一、docker拉取镜像 docker pull mysql (默认拉取最新版本的) 二、运行mysql docker run -p 3308:3306 --name mysql...
    99+
    2024-04-02
  • Mysql时区问题及解决方法
    MySQL是一种常用的开源关系型数据库,它在处理时间和日期时会受到时区的影响。因此,在使用MySQL时,时区设置容易引发一些错误。本文将介绍MySQL时区问题可能引发的错误,并提供一些解决方案。 错误1:时间不正确 在使用MySQL时,如果...
    99+
    2023-09-05
    mysql 数据库
  • docker容器时区错误问题该怎么解决
    docker容器时区错误问题该怎么解决,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。背景利用node-schedule定时任务库写了一个自动定时发邮件的脚本,每天上午7点发送邮...
    99+
    2023-06-25
  • Docker环境配置以及问题解决方案
    目录环境准备Linux系统分为两种:查看系统版本:查看系统内核查看系统配置步骤卸载docker问题汇总docker 启动报错常用命令环境准备 我的服务器是 centos 7 环境 如...
    99+
    2022-11-16
    docker环境配置 服务器配置docker 服务器安装docker
  • PHP和WebSocket: 实现即时通信的完美解决方案
    随着互联网的快速发展,越来越多的应用需要实现即时通信功能,比如在线聊天、实时数据监控等。而传统的 HTTP 协议并不适合这种场景,因为它是基于请求/响应的,必须客户端不断向服务器发送请求才能获取最新数据,这样带来了很大的开销和延迟。为了解决...
    99+
    2023-12-17
    PHP websocket 即时通信
  • PHP和WebSocket: 实现即时通信的完美解决方案
    随着互联网的快速发展,越来越多的应用需要实现即时通信功能,比如在线聊天、实时数据监控等。而传统的 HTTP 协议并不适合这种场景,因为它是基于请求/响应的,必须客户端不断向服务器发送请求才能获取最新数据,这样带来了很大的开销和延迟。为了解决...
    99+
    2023-12-17
    PHP websocket 即时通信
  • 基于 Docker 部署 Mysql 的时区设置解决方案
    文章目录 场景描述问题追因解决方案 场景描述 环境版本及条件: 基于 Docker 部署的 Mysql:8.0.27 版本数据库中。datatime 数据类型的字段设置了默...
    99+
    2023-09-11
    docker mysql java
  • DedeCMS关键词替换问题较完美解决方法
    问题描述 织梦内容关键词替换的时候存在一个错误:如果拥有两个关键词,例如“CIT”(www.cit.cn/tags/cit.html)和“CIT信息网”(www.cit.c...
    99+
    2022-06-12
    关键词 替换问题
  • python3.7安装matplotlib失败问题的完美解决方法
    目录起因:问题描述解决方案:总结起因: 刚学习机器学习,需要用到matplotlib这个库,结果安装失败了 问题描述 一开始在pycharm里进行安装,失败了,查看日志,没有erro...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作