docker时区设置

发布时间 2023-12-28 11:32:56作者: 土木转行的人才

前言

一般情况下我们容器的时区已经在启动的时候设置好了,但是如果你没有在启动脚本里面设置时区可能会导致项目过多,删除容器重新构建容器时区带来的成本比较高。

第一种:启动脚本配置时区

查看当前操作系统的时区

命名:
timedatectl status
如下:
image

配置启动脚本

sh脚本方式:

-e  TZ=Asia/Shanghai \
-v /etc/localtime:/etc/localtime:ro \

启动命令方式:

/* 这里配置的环境变量 Asia/Shanghai就是我所需要的时区 */
# docker run -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime:ro 镜像名

第二种:已经启动的服务容器替换时区

方法一:在【宿主机】中执行命令,【docker cp /etc/localtime 容器ID:/etc/localtime】,重启Docker容器。

方法二:在【宿主机】中执行命令,【docker cp  /usr/share/zoneinfo/Asia/Shanghai 容器ID:/etc/localtime】,重启Docker容器。

方法三(强烈推荐):在【容器】中执行命令,【ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime】,重启Docker容器。

第三种:制作镜像的时候在pom文件中设置时区

这种方式比较靠谱,当你启动镜像的时候,容器自动被设置时区。一般推荐开发部署的时候使用。