架构师_程序员

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 147|回复: 0

Docker 时间不一致,容器时间时区设置

[复制链接]
跳转到指定楼层
楼主
发表于 2019-11-13 11:13:18
zu
遇到docker时间不一致,大多是因为默认时区没有设置导致,一般在宿主机上使用 date 命令看到的是 CTS 时间,进入docker后使用 date 命令查看的是 UTC 时间。
CTS: China Standard Time,UTC+8:00 中国沿海时间(北京时间)
UTC: Universal Time Coordinated 世界协调时间



设置方法:

1、docker run 的时候增加环境变量 -e TZ=Asia/Shanghai(这个有时候不太好使)
2、添加volumes映射 /etc/localtime 映射到 /etc/localtime(可靠)
3、如果是你的镜像是自己Dockerfile编译的,那么在你的Dockerfile中添加

  1. RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
复制代码
这样使用Dockerfile build 后的镜像就是OK的。

注意:设置完成时区后,需要重启.net core程序,否则 DateTime.Now 依旧是错误的!

另外,Linux宿主机关于时区的设置方法,如下参考:

  1. # 1、CentOS6、Ubuntu16
  2. cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

  3. # 2、CentOS7、RHEL7、Scientific Linux 7、Oracle Linux 7 最好的方法是使用timedatectl命令
  4. timedatectl list-timezones |grep Shanghai    #查找中国时区的完整名称
  5. Asia/Shanghai
  6. timedatectl set-timezone Asia/Shanghai    #其他时区以此类推

  7. # 3、直接手动创建软链接
  8. ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
复制代码






上一篇:docker ps报错bash: ps: command not found
下一篇:.net core 判断当前操作系统
帖子永久地址: 

架构师_程序员 - 论坛版权1、本主题所有言论和图片纯属会员个人意见,与本论坛立场无关
2、本站所有主题由该帖子作者发表,该帖子作者与架构师_程序员享有帖子相关版权
3、其他单位或个人使用、转载或引用本文时必须同时征得该帖子作者和架构师_程序员的同意
4、帖子作者须承担一切因本文发表而直接或间接导致的民事或刑事法律责任
5、本帖部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责
6、如本帖侵犯到任何版权问题,请立即告知本站,本站将及时予与删除并致以最深的歉意
7、架构师_程序员管理员和版主有权不事先通知发贴者而删除本文

码农网,只发表在实践过程中,遇到的技术难题,不误导他人。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

免责声明:
码农网所发布的一切软件、编程资料或者文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:help@itsvse.com

QQ|Archiver|手机版|小黑屋|架构师 ( 鲁ICP备14021824号-2 )|网站地图

GMT+8, 2019-12-10 21:19

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表
即时比分新浪