问题描述:

公司内部搭建了一个gogs-git,是用docker部署的,但是发现提交的代码什么的时间跟服务器时间不一致

提交上去的世界是UTC时间不是中国的时间CST,相当于慢了8个小时

1、docker容器内的时区是UTC 
2、服务器的时区是CTS

解决方法:

一开始以为是gogs配置文件问题,最好发现原来是docker容器的时间问题

gogs服务器时间:
[root@localhost ~]# date
Fri Oct :: CST docker容器的时间:
[root@localhost lib]# docker exec -ti 13da3c3f2488 /bin/bash
bash-4.3# date
Fri Oct :: UTC 两者相差了8个小时:
gogs服务器采用了CST时区,CST应该是指(China Shanghai Time,东八区时间)
docker容器采用了UTC时区,UTC应该是指(Coordinated Universal Time,标准时间) 统一时间两种方法:
1、复制主机的localtime:
[root@localhost lib]# docker cp /etc/localtime 13da3c3f2488:/etc/ 然后再登陆docker容器,查看时间,发现时间已经跟服务器时间同步了:
[root@localhost lib]# docker exec -ti 13da3c3f2488 /bin/bash
bash-4.3# date
Fri Oct 19 15:19:42 CST 2018
bash-4.3# exit
2、创建dockerfile文件,然后就不用每次启动新的容器那么都要修改时间了
[root@localhost docker]# vim dockerfile
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
保存后,利用docker build命令生成镜像使用即可

具体操作方法可以参考docker官方文档:https://docs.docker.com/engine/reference/commandline/build/#tarball-contexts

docker修改容器gogs时区时间的更多相关文章

  1. Docker修改容器中的时间

    Docker修改容器中的时间 前言 在公司开发时使用 Docker 创建数据库(SQL Server)的实例十分方便,还原数据库也只要设置好共享文件夹,在 SQL Server Management ...

  2. Linux如何修改和查询时区时间

    Linux如何修改和查询时区时间 我在日常工作中,最近遇到了在解压源码包的时候,提示时间比较旧,解压安装出现问题.原因是,租用的vps所在时区和自己所需要的时区不一致,于是在网上找了相关资料.并亲自实 ...

  3. docker 修改容器env配置

    docker 修改容器env配置 场景:修改zabbix数据库密码 zabbix容器构成: 数据库:zabbix-mysql server端:zabbix-server-mysql web端:zabb ...

  4. Docker:容器与主机时间不同步问题解决

    在Docker容器运行后,可能会发现容器时间与宿主机时间不一致,一般会差8个小时.这样会造成在容器中运行的web程序打出的日志时间与实际时间不一致,如果web程序中有定时任务也会造成影响等,需要对宿主 ...

  5. 【Docker】-NO.132.Docker.1 -【Docker 修改容器端口】

    Style:Mac Series:Java Since:2018-09-10 End:2018-09-10 Total Hours:1 Degree Of Diffculty:5 Degree Of ...

  6. Docker 修改容器内的时区

    利用docker发布服务,发现 程序用获取的系统时间比正常时间晚了8个小时 进入容器 docker exec -it /bin/sh 查询时间 date -R 发现时区为0时区 解决思路 1.复制相应 ...

  7. docker 修改容器配置文件

    启动docker镜像命令docker run 可以指定端口映射,但是容器一旦创建就无法在通过命令修改.通常是保存镜像在创建一个新的容器.有没有办法不保存镜像直接修改这个容器呢?答案是有的,本文已mys ...

  8. docker修改容器参数

    docker update -m 500m --memory-swap - f669487f0804

  9. docker修改容器信息,打包等

    https://blog.csdn.net/x6_9x/article/details/72891404

随机推荐

  1. JodaTimeUtil日期处理工具类(简单、实用)

    一.maven依赖 <!--joda time--> <dependency> <groupId>joda-time</groupId> <art ...

  2. 关于QT中.pro文件中的相对路径

    被.pro文件中的相对路径给整糊涂了,仔细研究后,原来.pro文件中有两种相对路径. 一种情况下./表示.pro文件所在的目录 另一种情况下./表示构建生成目录 INCLUDEPATH SOURCE ...

  3. 基于xlua和mvvm的unity框架

    1.框架简介 这两天在Github上发现了xlua的作者车雄生前辈开源的一个框架—XUUI,于是下载下来学习了一下.XUUI基于xlua,又借鉴了mvvm的设计概念.xlua是目前很火的unity热更 ...

  4. 图片上传预览js

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. vue 前台传后台

    var the = this:let url = "/api/Purchase_Enter/CancelEnter"; let params = { Enter_Id: Enter ...

  6. 将代码从 spark 1.x 移植到 spark 2.x

    1. SparkSession sparkSession可以视为sqlContext和hiveContext以及StreamingContext的结合体,这些Context的API都可以通过spark ...

  7. Ocelot中文文档-Route

    路由(Routing) Ocelot主要功能是接收即将发来的请求并转发它们至下游服务.与此同时,以另一个http请求的形式(在将来这可能是任何传输的机制) Ocelot将一个请求的路由描述为另一个路由 ...

  8. Ocelot中文文档-Not Supported

    Not Supported Ocelot不支持以下几种情况 块级编码(Chunked Encoding ) - Ocelot始终会获取消息体的大小并返回内容长度(Content-Length).这种情 ...

  9. Java并发编程:什么是CAS?这回总算知道了

    无锁的思想 众所周知,Java中对并发控制的最常见方法就是锁,锁能保证同一时刻只能有一个线程访问临界区的资源,从而实现线程安全.然而,锁虽然有效,但采用的是一种悲观的策略.它假设每一次对临界区资源的访 ...

  10. Git实战手册(二): 标签应用和版本管理

    教程所示图片使用的是 github 仓库图片,墙内朋友请移步原文地址 有空就来看看个人技术小站, 我一直都在 0. 背景介绍 当一个代码仓库进过长时间的迭代,针对不同的时期和需求,必定会有不同的版本. ...