`
sunbin
  • 浏览: 349549 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

在 Docker 中配置时区(转)

 
阅读更多

因为项目中有个业务,需要取得当前时间,商品参加活动的情况。但是总查询不出结果,后来发现是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中时区问题的处理方法

    在Docker容器中,解决时区问题主要有两种方法: 1. **设置TZ环境变量**:在Dockerfile中添加`ENV TZ=Asia/Shanghai`,这将在构建镜像时设定默认的时区。另外,也可以在运行容器时通过`-e TZ=Asia/Shanghai`动态设置...

    Proxmox LXC 容器安装docker

    使用 Proxmox 的 LXC 容器安装 Docker 需要注意一些重要的限制条件和配置,例如只能在 Ubuntu 容器中安装 Docker,防火墙的关闭和时区的设置等。同时,我们还需要使用 Rancher 来组建 K8s 集群,以便更好地管理和...

    docker-radicale:用于Radicale日历和联系服务器+安全性+插件的Docker映像

    在amd64,arm(RaspberryPI ...)等上运行变更日志 :page_with_curl: 参见最新版本最新标签:跑步最低要求: docker run -d --name radicale \ -p 5232:5232 \ tomsquest/docker-radicale 基本说明: 创建用于存储...

    Docker的MySQL容器时区问题修改

    本文主要讨论的是如何解决Docker中运行的MySQL容器时区不正确的问题,这通常会影响到数据的正确读取和处理,特别是在涉及时间戳的操作中。 **问题背景** 在使用SpringBoot开发项目时,前端报告验证码始终无效。...

    Docker安装MySQL 8.0.20详细教程

    Docker容器默认会继承宿主机的时区设置,因此容器内的时间会与宿主机保持同步。无需额外配置,即可确保容器时间的准确性。 五、挂载数据文件,持久化到主机 通过挂载宿主机目录到容器内的数据目录,可以实现MySQL...

    docker安装jenkins部署并且自动化打包部署java服务

    首先,需要在 Jenkins 中配置 Java 项目,然后使用 Maven 或 Gradle 等工具来构建项目。最后,使用 Jenkins 的插件来部署 Java 服务。 五、结论 使用 Docker 安装 Jenkins 可以轻松地部署和自动化打包 Java 服务。...

    基于Jenkins+Gitlab+Docker实现SpringBoot项目自动部署

    在Jenkins中,我们需要设置时区为北京时间。我们可以使用以下命令来设置时区: `System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Shanghai')` 自动化构建和部署 接下来,我们可以使用...

    kairosdb-docker:可通过环境变量配置的KairosDB docker映像

    要构建Docker映像,请发出以下命令(可能在更新VERSION变量之后): ./build.sh 要同时推送到Docker中心,请执行 export PUSH=yes ./build.sh 从映像运行容器 为KairosDB服务器构建docker映像后,可以使用以下...

    docker搭建lnmp环境

    - 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义。 ## 三、docker-compose编排lnmp环境 ### 1、mysql 这里我们使用了mysql5.5版本,没其它用意,相比5.7以上...

    laravel-docker:使用 docker 搭建 laravel 环境

    在 nginx/conf.d 目录中配置每个站点的 php-cli-daemon 中装了 supervisor,配置 worker 到 supervisor.d 中即可。 docker-compose up -d php-fpm 中装了 composer, 可以进行 composer 安装 Tips alpine 中没有 bash...

    roundcube-docker-image:Roundcube IMAP 客户端的 docker 镜像

    圆形立方体关于图像。 基于 Ubuntu Trusty (14.04) 并使用 Universe repo (0.9.5) 中的 roundcube 包构建。... 您还应该在 TZ 变量中指定您的时区以确保正确显示日期: docker run -P -e ROUNDCUBE_CONFIG_

    iredmail-docker:iRedMail Docker映像

    iRedMail Docker容器免责声明不幸的是,此docker映像远非真正持久性和docker-way。 它更像Ubuntu VM,但位于容器中。 为了改善它,应该使用单独的数据库容器(不带安装的卷/数据容器)来保持持久性,创建安装和启动...

    servicio-tvheadend:使用 Docker 容器的 Tvheadend 服务示例

    介绍 此存储库包含用于实例化 tvheadend 的配置文件...用于配置时区的持久目录。 创建目录 / Apps / data / tz 并在其中创建文件时区。 然后用 -vo 和 fig.yml 挂载它 Montar: "/Apps/data/tz:/config/tz" Preparar:

    时区不正确问题1

    在IT行业中,尤其是在服务器部署和应用开发中,时区问题是一个常见的困扰。当你的系统时间不正确时,可能会导致各种意想不到的问题,例如日志记录时间错乱、定时任务执行失败等。针对“时区不正确问题1”,我们将...

    优质项目,基于Docker+SpringBoot+Mybatis+thymeleaf开发的Java博客系统,源码+文档

    优质项目,基于Docker+SpringBoot+Mybatis+thymeleaf开发的Java博客系统,源码+文档 添加docker整合 ...docker容器时区不同步问题修复,文件整理 文件整理,排版和文案修改 正式上线啦 如果

    docker-mongosetup:mongo集群的安装节点

    在Dockerfile中 FROM yeasy/mongosetup:latest 本地跑步 启动时,它将运行/scripts/mongosetup.sh将mongo容器配置为单节点群集。 另外,您可以用您的内容替换它。 $ docker run -d --link=mongo:mongo yeasy/...

    docker-ib-tws:在Docker中运行的盈透证券交易平台(TWS)

    在Docker中运行的盈透证券交易平台(TWS) 使用VNC Viewer访问平台。 默认密码: root 。 可配置变量TZ设置时区。 默认值: Etc/UTC

    Xeoma:Xeoma Dockerfile

    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) && \...

    OpenMeetings安装配置

    2. 访问OpenMeetings的Web界面,按照提示完成首次启动的配置,包括设置默认语言、时区等。 八、启动和测试 1. 启动Tomcat服务,检查OpenMeetings是否能正常启动,无错误日志。 2. 在浏览器中输入OpenMeetings的访问...

Global site tag (gtag.js) - Google Analytics