docker学习16-Docker 容器设置时区

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker学习16-Docker 容器设置时区相关的知识,希望对你有一定的参考价值。

前言

最近遇到一个问题,在本机部署操作时,获取本机当前时间存到mysql数据库,时间是当前北京时间没问题。
但是用Docker 容器部署项目,发现时间少了8个小时,于是想到是docker容器的内部时区问题。

修改docker 容器内部时区

docker 容器一般是debian系统,默认是UTC标准时间

# 1.先进容器内部
docker exec -it 容器名 bash   
# 2.设置上海时间
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

或者先删除localtime 再给软链接

rm /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

构建镜像设置时区

我们也可以在写Dockerfile 文件构建镜像的时候,设置好时区

    # 设定时区
    ENV TZ=Asia/Shanghai
    RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

或者启动容器的时候,将宿主机与容器的时间进行挂载

-v /etc/localtime:/etc/localtime

以上是关于docker学习16-Docker 容器设置时区的主要内容,如果未能解决你的问题,请参考以下文章

16-Docker-Docker的web可视化工具使用

使用docker容器的错误时间戳:时区设置无效

16.Docker技术入门与实战 --- 容器实战思考

16.Docker技术入门与实战 --- 容器实战思考

docker 设置容器时区跟宿主机保持一致

docker 解决容器时区时间不一致