Linux 多个项目部署在同一台服务器时,date 命令可以只修改其中某一个项目的时间吗

小九 · April 09, 2019 · Last by 小九 replied at April 12, 2019 · 1041 hits

项目的测试修改服务器时间。
比如:在做支出时,4月份做支出和8月份做支出能选择的可支出时间不同,所以在执行测试时需要比较频繁的更改时间,但频繁修改服务器时间给在做其他项目的同事带给困扰。
请问在同一台服务器上的不同Tomcat可以是不同的时间吗?目前使用date命令来修改系统时间,是修改这台服务器上的时间,会影响部署在这台服务器上的所有项目,大家有遇到同样的问题吗?除了申请新服务器,没有什么别的办法吗?

共收到 10 条回复 时间 点赞

docker可以解决么?

小九 #2 · April 09, 2019 作者
张全蛋 回复

没有使用docker的经验,能介绍下docker是如何解决这个问题的么🙏

小九 回复

系统时间是系统层面的属性,docker 容器就是一个小系统,你把你的项目部署到不同的docker容器中就想当于系统隔离了,那样你可以随便改其中一个项目所在容器的时间而不影响其他的项目所在容器的时间

小九 #4 · April 09, 2019 作者
ThreeClick 回复

谢谢指教!

会影响其他部署的,只能用虚拟环境。

小九 #6 · April 09, 2019 作者
陈子昂 回复

您讲的虚拟环境是指docker么

可以单独设置每个docker的时间的

不改系统: docker可以试试
改系统: 获取当前日期的方法封装下做个开关,测试环境打开,此时支持从接口直接设定当前日期

小九 #9 · April 10, 2019 作者
陈恒捷 回复

没想过从源码上解决这个问题,茅塞顿开!

小九 #10 · April 12, 2019 作者

查了docker环境的搭建,看到一篇介绍docker的博文,博文里通过和虚拟机对比来讲docker,docker的几个概念一下子就明白了,贴给大家。

Docker的几个重要概念
2.1 镜像
Docker的镜像类似于虚拟机的快照,但是更加的轻量级。如果想要创建镜像的话,一版的套路是根据一个已有的镜像对其进行修改并创建子镜像

2.2 容器
容易依附于镜像,也就是说可以从镜像中创建容器,相当于从快照中创建了一个虚拟机,不过更轻量级,应用都是在容器上跑的。

举个栗子,我下载了一个Ubuntu的镜像,通过安装Scrapy、Django等应用或者依赖项来对这个镜像进行了修改。然后从这个镜像中创建了3个容器,当容器跑起来了之前再跑我们的应用。并且这些容器之间是相互隔离的。

镜像和容器都有一个GUID和一个唯一的名字

不过容器和虚拟机有两个比较大的区别,一个是容器只能单进程,不能多进程。还有一个是当你关掉一个虚拟机后可能也就会丢失一些临时文件,但是关闭一个容器之后,容器对镜像所做的所有修改都会丢失。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up