查看容器时区
data -R
Tue, 25 Jan 2022 02:18:24 +0000
容器时间和宿主机同步
容器时区
-e TZ=Asia/Shanghai
# 例子为:run mysql
docker run -p 5306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=root -e TZ=Asia/Shanghai -d mysql:8.0.26
mysql的时区
show variables like ‘%time_zone%’;
docker run -p 5306:3306 --name mysql8 -e MYSQL_ROOT_PASSWORD=root -e TZ=Asia/Shanghai -d mysql:8.0.26 --default-time_zone='+8:00'
Dockerfile 设置时区 (jar为例)
#定义时区参数
ENV TZ=Asia/Shanghai
#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
# docker build -t testtz:1.1 .
# docker run -d -p 9001:9001 testtz:1.1
# test_init-0.0.1-SNAPSHOT.jar
# 基础镜像使用java
from java:8
# 作者
maintainer tan
#定义时区参数
ENV TZ=Asia/Shanghai
#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
# 指定临时文件目录未/tmp,在主机中新建一个tmp连接到容器的tmp
volume /tmp
# 将jar 包添加到容器中并更名
add test_init-0.0.1-SNAPSHOT.jar testtz.jar
# 运行jar
run bash -c 'touch /testtz.jar'
entrypoint ["java","-jar","/testtz.jar"]
# 暴露端口
expose 9001
docker-compose设置时区
environment: # 设置环境变量,相当于docker run命令中的-e
TZ: Asia/Shanghai