本文详细介绍了docker时区问题和数据信息传递问题。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。
全新的解决方案:
-v/usr/share/zoneinfo/Asia/Shanghai:/etc/timezone-v/etc/localtime:/etc/localtime:ro
dockerrun--nametomcat-service-0-d-p8080:8080-v/usr/share/zoneinfo/Asia/Shanghai:/etc/timezone-v/etc/localtime:/etc/localtime:ro-v/home/zjy/logs/tomcat-service-0:/usr/local/tomcat/logs-v/home/zjy/code/ligu/target:/usr/local/tomcat/webappstomcat问题1
当docker部署新项目时,发现docker容器中的时区与网络服务器的时间相差八小时。
虽然使用了-v/etc/localtime:/etc/localtime来同步网络服务器时间和容器初始化,但是容器中tomcat的时区仍然相差八个小时。
显示
-v/etc/localtime:/etc/localtime
在启动的情况下,该指令的应用仅初始化网络服务器和容器中的系统软件的时间。您很可能进入容器,然后执行
“date”指令。如您所见,容器内部的时间确实发生了变化,但是tomcat在容器中运行的自然环境的日期实际上并没有发生变化。
由于这个tomcat容器的时区自从我们在pull中获得这个tomcat映像后已经固定了很长时间,所以大家唯一的办法就是在编译tomcat映像时将本地服务器的时间与这个映像关联起来。
解决方案(超级简单)
应用dockerFile编译器映像。下面是文档
#Pullbaseimage FROMtomcat:latest ENVTZ=Asia/Shanghai RUNln-snf/usr/share/zoneinfo/$TZ/etc/localtime&&echo$TZ>/etc/timezone执行以下说明
指令文件格式: $dockerbuild-timage_nameDockerfile_path $:dockerbuild-ttimetomcat/timetomcat.稍后启动容器时,可以应用编译器的这个tomcat。
如图所示
码头集装箱转运
显示
当docker部署的网络服务器发生变化,比如数据库查询,想要部署到一个新的详细地址,这个数据备份和转移的方法有很多:
对于数据库查询:
1使用mysql的主从副本来备份数据。在新项目运营期间,mysql网络服务器会将数据备份到几个详细地址。其实可以看到详细地址:https://Zhangjy520.github.io/
2应用程序启动mysql时,application-v初始化本地路径和容器路径,然后在transfer
-v/home/MySQL/master/data/db-conf:/etc/MySQL/-v/home/MySQL/master/data/的情况下将本地路径复制到新的网络服务器上。
3导出到mysql数据库进行查询,然后引出一个新的详细地址,比较低
使用docker进行集装箱转移。本博客关注docker。在这里,我们来谈谈如何使用docker进行传输
解决方案(超级简单)集装箱运输[/s2/]
出口/进口
在源服务器上实现
声明:这个压缩文件打开可以看到,实际上是一个linux网络服务器的文件目录结构。该指令将容器及其运行的自然环境打包
在目网络服务器上实现
启动镜像
保存/加载
sudodockersaveweb>web.tar sudodockerload<web.tar关于docker时区问题和数据传输信息问题的这篇文章到此为止。关于docker时区问题和数据传输的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)