Docker或Docker-Compose时间时区配置

Docker或Docker-Compose配置时区,主要是为了使用容器内的时间和物理机操作系统的时间保持一致。以下是集中配置Docker或Docker-Compose环境时间时区的方式。

Dockerfile(Docker)中配置时区

在Dockerfile中,可以通过如下方式添加中国时区

复制代码
FROM docker.io/centos
MAINTAINER HOKING
使用RUN命令设置时区
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai'>/etc/timezone

Docker-compose.yaml中配置时区

但如果docker程序是以docker-compose.yaml构建,那么时区这块需要如何设置呢?

经过实测,如下方式都可行。

方式一

复制代码
environment:
  - SET_CONTAINER_TIMEZONE=true
  - CONTAINER_TIMEZONE=Asia/Shanghai

方式二

复制代码
environment:
  - TZ=Asia/Shanghai

方式三

复制代码
volumes:
       #将宿主时间直接挂载到容器内部,权限只读
      - /etc/localtime:/etc/localtime:ro
相关推荐
人活一口气1 小时前
从JVM调优到MCP协议:Java全栈技术体系深度总结与企业级架构实践
java·spring boot
NE_STOP3 小时前
Vibe Coding -- 完整项目案例实操
java
荣码3 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
SimonKing3 小时前
Google第三方授权登录
java·后端·程序员
明月光8183 小时前
从一行 @Builder 说起:重新拾起 Java 的 Lombok、注解与 Builder 模式
java
考虑考虑13 小时前
Mybatis实现批量插入
java·后端·mybatis
咖啡八杯13 小时前
GoF设计模式——中介者模式
java·后端·spring·设计模式
青石路17 小时前
记一次多JDK版本问题的排查,一坑套一坑,差点没爬上来
java
像我这样帅的人丶你还20 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
plainGeekDev1 天前
GreenDAO → Room
android·java·kotlin