本文主要是介绍docker时区问题少8小时 国内Linux统一将UTC时间改为CST时间,即修改时区为Asia/Shanghai,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
国内Linux统一改为CTS即修改时区为Asia/Shanghai,比较方便转换。
最简单的办法:直接把宿主机上的localtime文件复制到容器中的/etc目录下(宿主机上/etc/localtime是软链到/usr/share/zoneinfo/Asia/Shanghai,test_kjtcpserver_1是我容器名)
#把宿主机上的localtime文件复制到容器中的/etc目录下,改名为localtime
docker cp /usr/share/zoneinfo/Asia/Shanghai test_kjtcpserver_1:/etc/localtime
#改完重启容器
docker restart test_kjtcpserver_1
下面方法无效
改dockerfile里加上RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
FROM keymetrics/pm2:14-alpineRUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime# Create app directory
WORKDIR /usr/src/app# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)COPY package*.json ./
RUN npm installCOPY . .EXPOSE 3030
CMD [ "pm2-docker", "start", "./bin/kjmon.js" ]
以下为参考:
UTC:协调世界时间,又称世界统一时间、世界标准时间、国际协调时间。由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC。Coordinated Universal Time
CST时间:中央标准时间Central Standard Time 比如
(USA) UTC-6:00(美国cst时间:零区时减6个小时)
(Australia) UTC+9:30(澳大利亚cst:加9个半小时)
(China)UTC+8:00(中国cst:加8个小时)如:当UTC时间为0点时,中国CST时间为8点,因为零时区和中国北京时区相差8个时区。
--------------------------------------------------------------------------------------------------------------------------------------------------------
CentOS先查看Linux当前时区
date
ls -l /etc/localtime
获取时区TZ值(有些精简版的没有这个命令,没关系用上面最简单粗暴的办法)
要更改 Linux 系统时区首先得获知你所当地时区的 TZ 值,使用 tzselect 命令即可查看并选择已安装的时区文件。通过向导选择你所在大洲、国家和城市,查到北京时区的TZ='Asia/Shanghai'
docker容器中 更改时区。改镜像较好。
rm -f /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
改前
改后
这篇关于docker时区问题少8小时 国内Linux统一将UTC时间改为CST时间,即修改时区为Asia/Shanghai的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!