通过date命令查看时间
查看主机时间
[root@localhost ~]# date
2016年 07月 27日 星期三 22:42:44 CST
查看容器时间
root@b43340ecf5ef:/#date
Wed Jul 27 14:43:31 UTC 2016
可以发现,他们相隔了8小时。
CST应该是指(China Shanghai Time,东八区时间)
UTC应该是指(Coordinated Universal Time,标准时间)
所以,这2个时间实际上应该相差8个小时。(所以没有设置过的容器, 一般跟宿主机时间相差8h)
所以,必须统一两者的时区。
共享主机的localtime (方法一)
创建容器的时候指定启动参数,挂载localtime文件到容器内 ,保证两者所采用的时区是一致的。
docker run --name <name> -v /etc/localtime:/etc/localtime:ro ....
复制主机的localtime (方法二)
docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime
在完成后,再通过date命令进行查看当前时间。
但是,在容器中运行的程序的时间不一定能更新过来,比如在容器运行的MySQL服务,在更新时间后,通过sql查看MySQL的时间
select now() from dual;
可以发现,时间并没有更改过来。
这时候必须要重启mysql服务或者重启Docker容器,mysql才能读取到更改过后的时间。
创建自定义的dockerfile (方法三)
创建dockerfile文件,其实没有什么内容,就是自定义了该镜像的时间格式及时区。
FROM redis
FROM tomcat
ENV CATALINA_HOME /usr/local/tomcat
#设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo 'Asia/Shanghai' >/etc/timezone \
保存后,利用docker build命令生成镜像使用即可。
相关推荐
主要介绍了Docker 解决容器时间与主机时间不一致的问题的相关资料,这里提供了三种方法,供大家参考,需要的朋友可以参考下
docker容器时间和宿主机实际时间不一致的解决
promethues(普罗米修斯)监控docker容器——详细文档,超详细文档总结
拿到交付的docker镜像后,启动后进入容器控制台,使用date命令查看果然时间不正确。再查看宿主机时间是正确,这样肯定是容器启动时未将时区与宿主机保持同步了,由于测试镜像是由dockfile直接构建,因此问题基本了定...
实现Docker的跨主机网络通信的方案有很多,如之前博文中写到的通过部署 Consul服务实现Docker容器跨主机通信 Macvlan工作原理: Macvlan是Linux内核支持的网络接口。要求的Linux内部版本是v3.9–3.19和4.0+; 通过为...
如何检查Docker容器时区是否与宿主机一致? 1、进入宿主机, 执行以下命令: # 查看宿主机时间 [root@localhost ~]# date 2018年 06月 27日 星期三 22:42:44 CST 2、进入到容器中,执行以下命令 # 查看容器时间 ...
Brooklyn用一个Dockerfile使SSH服务器在每个Docker容器中可用,之后就可以把它像任何虚拟机一样来处理了。Brooklyn接收来自于此应用、每台docker主机、每个docker容器以及每款安装了此应用的软件的传感数据,并能够...
最近解决docker与宿主机同网段通信的问题,写此文章记录一下整个过程。 例如 宿主机A 和宿主机B是网络联通关系,在宿主机A上面创建了多个容器组成集群,但是我希望...2、 使用pipework为docker容器配置独立IP 安装p
用于容器和主机的Docker DNS Docker DNS创建一个容器,该容器充当计算机中Docker容器的DNS。 例如,每个正在运行的容器都可以通过$container_name.docker访问。 如果愿意,您可以通知自己的域名。 您的域可在docker...
有一项重要的参数 -v 目录挂载,就是让容器内部目录和宿主主机目录关联起来,这样就可以直接操作宿主主机目录而不用再操作具体容器了 比如在2中,我们要发布一个war包,是通过 sudo docker cp demo.war tomcat_...
提高了效率,性能损耗低容器具有可移植性容器是轻量的,可同时运行数十个容器,模拟分布式系统不必花时间在配置和安装上,无需担心系统的改动,以及依赖关系是否满足容器与虚拟机运行在同一主机的3个虚拟机运行在...
码头工人这将在Docker容器中运行Discord的最新发行版: 金丝雀: keyglitch/discord:canary 稳定的: keyglitch/discord:stable 根据版本的不同,Discord可能会下载更新并退出,从而停止容器-只需重新运行即可开始...
这用于测试以Docker容器为目标主机的服务的部署。 就像在实际计算机上一样,您可以使用“ systemctl start”和“ systemctl enable”以及其他命令来调出服务以进行进一步的配置和测试。 来自“ systemctl show”的...
使用docker-sshd ,您可以从任何地方通过ssh进入 docker 容器,就像docker exec -ti CONTAINER_ID /bin/bash在 docker 主机上一样。 +-------------+ | | ssh CONTAINER1@docker-sshd +--------------------+ |...
Docker 日益火爆的今天,本次设计对其网络化和集群化能力做出了一个尝 试。并开发了 Kubernetes 用来搭建了一个集群管控程序。本文就其的主要部件的 设计的分析和具体实现的设计详细描述了容器的大规模化之后应该去...
该工具允许您为Docker容器内的任何端口设置端口转发,即使该端口尚未公开。 docker-port-forward test-container 80 6060将在运行工具的端口6060上暴露容器的端口80 。 该工具如何做到这一点? 它首先将容器连接到...
默认情况下容器可以使用的主机 CPU 资源是不受限制的。和内存资源的使用一样,如果不对容器可以使用的 CPU 资源进行限制,一旦发生容器内程序异常使用 CPU 的情况,很可能把整个主机的 CPU 资源耗尽,从而导致更大的...
基于 Docker 和 OpenStack Swift 构建的本地 S3 首先,这主要是一个分支,我清理了一下并添加了 swift... 许多 Docker 容器,即使在不同的主机上,也可以使用一个 OpenStack Swift 容器来持久化文件。 但是为什么只有
基于docker官网centos7镜像配置java运行环境,自己安装jdk和tomcat,解决docker容器与宿主机时间不一致问题