Docker修改时区

前几天遇到这样一个业务场景,数据库运行在docker 中,docker 的市区是utc 所以就跟北京时间相差8个小时。但是又不能重新运行一个容器,只能保证数据库运行状态,并把宿主机的时区复制给docker 容器。很苦恼,

首先我先把宿主机的时区改成啦CST 北京时间。然后把宿主机的时区复制给docker 容器。命令如下

docker cp /etc/localtime [容器ID或者NAME]:/etc/localtime
  • 1

当然也可以进入容器进行修改时区(不过我的容器修改的时候总是报/etc/localtime 文件只读,不让修改。所以就用了上面的方法),命令如下

首先添加所有的时区
然后再修改时区

apk add tzdata 
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 
echo "Asia/Shanghai" > /etc/timezone
  • 1
  • 2
  • 3

当然,在容器内改,也很麻烦,每次启动新的容器那么就要修改,所以在dockerfile 中修改更好啦。命令如下

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

--------------------- 本文来自 双斜杠少年 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/u012373815/article/details/52782807?utm_source=copy

猜你喜欢

转载自blog.csdn.net/liu22985342/article/details/82935664