Docker 容器内的系统时间不正确
我的 mysql 运行在 docker container 中,因为每次插入数据的时候,记录的 create_time
都是通过在 sql 中指定 NOW()
来生成的,结果发现日期每次都不正确,于是猜想是不是系统时间不对,结果还真是,这种情况有什么优雅的解决方式么?
1 个解决方案
Docker container 时间不对是因为,你从镜像 build 的时候,那个镜像的时区是不对的。
例如,DockerHub 上面的镜像一般都是外国友人上传的,时区当然和中国不一致了
解决办法:
方案 1:在 Dockerfile 中指定时区:
RUN echo "Asia/Shanghai" > /etc/timezone;
如:这里改成上海时区
方案 2:在启动容器的时候,通过命令参数将容器的时间挂载到 host 宿主机上的时间:
-v /etc/localtime:/etc/localtime