0%

Docker各种容器时区相关

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

MySQL

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

PostgreSQL

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

Tomcat

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

Jenkins

1
2
3
4
5
6
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 许可协议。转载请注明出处!