0%

Docker各种容器时区相关

日前在实时容器化过程中出现几次时区问题, 网上流传的挂载/etc/timezone/etc/localtime两个文件的方法, 在实际操作中发现并不是均有作用. 故特在此记录一下.
以下使用 docker-compose 的编排配置文件 docker-cpmpose.yaml

MySQL

version: '3.7'
services:
  mysql:
    image: mysql:5.7.27
    environment:
    - TZ=Asia/Shanghai
  • 验证方式 SELECT NOW();

PostgreSQL

version: '3.7'
services:
  postgresql:
    image: postgres:11.5
    environment:
    - TZ=Asia/Shanghai
  • 验证方式 SELECT NOW();
  • 注意 PostgreSQL 在第一次创建时就必须加上上面的环境变量, 初始化后会将时区信息存储到 /var/lib/postgresql/data/postgresql.conf 文件中, 之后在通过修改环境变量的方式就无法再修改时区, 需要通过改配置文件的方式修改.

Tomcat

version: '3.7'
services:
  serve:
    image: tomcat:8.5.47-jdk8-openjdk
    environment:
    - TZ=Asia/Shanghai
  • 验证方式 None

Jenkins

version: '3.7'
services:
  serve:
    image: jenkins/jenkins:2.204
    environment:
    - JAVA_OPTS= -Duser.timezone=Asia/Shanghai
  • 验证方式 Jenkins
  • 本文作者: 6x
  • 本文链接: https://6xyun.cn/article/91
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-ND 许可协议。转载请注明出处!