前言
最近遇到一个问题,在本机部署操作时,获取本机当前时间存到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 文件构建镜像的时候,设置好时区文章来源:https://www.toymoban.com/news/detail-542146.html
# 设定时区
ENV TZ=Asia/Shanghai
RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
或者启动容器的时候,将宿主机与容器的时间进行挂载文章来源地址https://www.toymoban.com/news/detail-542146.html
-v /etc/localtime:/etc/localtime
到了这里,关于docker学习16-Docker 容器设置时区的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!