因为项目中有个业务,需要取得当前时间,商品参加活动的情况。但是总查询不出结果,后来发现是mysql的时间查询不正确,原因是mysql的时间晚了8小时。因为mysql安装在docker中,所有最终的原因是docker的时区与当前时间不一致。以下是转载修改docker时区的方法
最近玩 Docker 玩儿的非常的嗨皮,并且把公司的生产环境全部变成 Docker 部署的啦。因为 Base Image 使用的基本上都是 Docker 官方的,所以里面的时间设置大多是 Etc/UTC
,也就是标准的 UTC 时间,所以要简单的调整一下,变成中国标准时间。
如果已经创建了 container 的话,可以直接接入到 container 里面,用命令行实现时区的更改:
首先通过下面的命令进入对应的 containerid:(docker ps 可以获得CONTAINER ID)
1 |
# docker exec -ti containerid bash |
然后在 container 里面执行如下的命令:
1 2 |
# echo "Asia/Shanghai" > /etc/timezone # dpkg-reconfigure -f noninteractive tzdata |
可以看到屏幕上有类似的输出:
1 2 3 |
Current default time zone: 'Asia/Shanghai' Local time is now: Thu Feb 5 10:55:04 CST 2015. Universal Time is now: Thu Feb 5 02:55:04 UTC 2015. |
我们可以看到,local time 已经变成了 CST
,也就是 CST – China Standard Time
,这样我们的时区修改就已经完成了,之所以要用 noninteractive
的方式,是为了方便我们整合到 Dockerfile
中使用,比如:
1 2 |
RUN echo "Asia/Shanghai" > /etc/timezone RUN dpkg-reconfigure -f noninteractive tzdata |
这样的话,我们可以把时区设置做到自己的 Image 中,就不需要每个 container 运行一次时区设置了。
相关推荐
在Docker容器中,解决时区问题主要有两种方法: 1. **设置TZ环境变量**:在Dockerfile中添加`ENV TZ=Asia/Shanghai`,这将在构建镜像时设定默认的时区。另外,也可以在运行容器时通过`-e TZ=Asia/Shanghai`动态设置...
使用 Proxmox 的 LXC 容器安装 Docker 需要注意一些重要的限制条件和配置,例如只能在 Ubuntu 容器中安装 Docker,防火墙的关闭和时区的设置等。同时,我们还需要使用 Rancher 来组建 K8s 集群,以便更好地管理和...
本文主要讨论的是如何解决Docker中运行的MySQL容器时区不正确的问题,这通常会影响到数据的正确读取和处理,特别是在涉及时间戳的操作中。 **问题背景** 在使用SpringBoot开发项目时,前端报告验证码始终无效。...
在amd64,arm(RaspberryPI ...)等上运行变更日志 :page_with_curl: 参见最新版本最新标签:跑步最低要求: docker run -d --name radicale \ -p 5232:5232 \ tomsquest/docker-radicale 基本说明: 创建用于存储...
Docker容器默认会继承宿主机的时区设置,因此容器内的时间会与宿主机保持同步。无需额外配置,即可确保容器时间的准确性。 五、挂载数据文件,持久化到主机 通过挂载宿主机目录到容器内的数据目录,可以实现MySQL...
首先,需要在 Jenkins 中配置 Java 项目,然后使用 Maven 或 Gradle 等工具来构建项目。最后,使用 Jenkins 的插件来部署 Java 服务。 五、结论 使用 Docker 安装 Jenkins 可以轻松地部署和自动化打包 Java 服务。...
在Jenkins中,我们需要设置时区为北京时间。我们可以使用以下命令来设置时区: `System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')` 自动化构建和部署 接下来,我们可以使用...
要构建Docker映像,请发出以下命令(可能在更新VERSION变量之后): ./build.sh 要同时推送到Docker中心,请执行 export PUSH=yes ./build.sh 从映像运行容器 为KairosDB服务器构建docker映像后,可以使用以下...
- 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。 ## 三、docker-compose编排lnmp环境 ### 1、mysql 这里我们使用了mysql5.5版本,没其它用意,相比5.7以上...
在 nginx/conf.d 目录中配置每个站点的 php-cli-daemon 中装了 supervisor,配置 worker 到 supervisor.d 中即可。 docker-compose up -d php-fpm 中装了 composer, 可以进行 composer 安装 Tips alpine 中没有 bash...
圆形立方体关于图像。 基于 Ubuntu Trusty (14.04) 并使用 Universe repo (0.9.5) 中的 roundcube 包构建。... 您还应该在 TZ 变量中指定您的时区以确保正确显示日期: docker run -P -e ROUNDCUBE_CONFIG_
iRedMail Docker容器免责声明不幸的是,此docker映像远非真正持久性和docker-way。 它更像Ubuntu VM,但位于容器中。 为了改善它,应该使用单独的数据库容器(不带安装的卷/数据容器)来保持持久性,创建安装和启动...
介绍 此存储库包含用于实例化 tvheadend 的配置文件...用于配置时区的持久目录。 创建目录 / Apps / data / tz 并在其中创建文件时区。 然后用 -vo 和 fig.yml 挂载它 Montar: "/Apps/data/tz:/config/tz" Preparar:
在IT行业中,尤其是在服务器部署和应用开发中,时区问题是一个常见的困扰。当你的系统时间不正确时,可能会导致各种意想不到的问题,例如日志记录时间错乱、定时任务执行失败等。针对“时区不正确问题1”,我们将...
优质项目,基于Docker+SpringBoot+Mybatis+thymeleaf开发的Java博客系统,源码+文档 添加docker整合 ...docker容器时区不同步问题修复,文件整理 文件整理,排版和文案修改 正式上线啦 如果
在Dockerfile中 FROM yeasy/mongosetup:latest 本地跑步 启动时,它将运行/scripts/mongosetup.sh将mongo容器配置为单节点群集。 另外,您可以用您的内容替换它。 $ docker run -d --link=mongo:mongo yeasy/...
在Docker中运行的盈透证券交易平台(TWS) 使用VNC Viewer访问平台。 默认密码: root 。 可配置变量TZ设置时区。 默认值: Etc/UTC
Xeoma Dockerfile #从docker.io下载docker镜像 docker pull docker.io/jgarland79/xeoma:latest#启动docker,设置时区,找回密码 CID=$(docker run -d -t -p 8090:8090 docker.io/jgarland79/xeoma:latest) && \...
2. 访问OpenMeetings的Web界面,按照提示完成首次启动的配置,包括设置默认语言、时区等。 八、启动和测试 1. 启动Tomcat服务,检查OpenMeetings是否能正常启动,无错误日志。 2. 在浏览器中输入OpenMeetings的访问...