• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    docker时区问题和迁移数据问题

    最新解决办法:

    -v /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone -v /etc/localtime:/etc/localtime:ro

    docker run --name tomcat-service-0 -d -p 8080: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/webapps tomcat

    问题1

    项目在使用docker部署的时候,发现docke容器里面的时区和服务器的时间相差8个小时。
    尽管使用 -v /etc/localtime:/etc/localtime 将服务器时间和容器挂载同步了,但是容器里的tomcat的时区仍然差8个小时。

    说明

    -v /etc/localtime:/etc/localtime

    在启动的时候,使用这个命令,仅仅是将服务器和容器里系统的时间挂载了,你可能进入到容器里面再执行
    “date” 命令看到,容器里面的时间的确是更改过来了,但是容器里面的tomcat运行的环境的日期,实际上仍未更改。
    因为我们在pull获取这个tomcat镜像的时候,这个tomcat容器的时区已经固定了,所以我们唯一的办法是在编译这个tomcat镜像的时候,就将本地服务器的时间和这个镜像绑定起来。

    解决办法(超简单)

    使用dockerFile编译镜像。 Dockerfile如下

    # Pull base image 
    FROM tomcat:latest 
    ENV TZ=Asia/Shanghai
    RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

    执行如下命令

    命令格式:
    $docker build -t image_name Dockerfile_path
    $:docker build -t timetomcat/timetomcat .

    然后后边启动容器的时候,使用编译的这个tomcat即可

    如图

    docker 容器迁移

    说明

    docker部署的服务器发生变化的时候,比如数据库,想部署到一个新的地址,这些数据迁移有很多办法:

    针对数据库:

    1 使用mysql 的主从复制备份,在项目运行期间,将mysql服务器备份到多个地址,具体请看地址:https://zhangjy520.github.io/

    2 使用启动mysql的时候,使用 -v 挂载 将本地的路径和容器路径绑定,然后迁移的时候将本地的路径复制到新服务器即可
    -v /home/mysql/master/data/db-conf:/etc/mysql/ -v /home/mysql/master/data/db-data:/var/lib/mysql

    3 导出mysql数据库呗,再导入到新的地址,比较low

    4 使用docker的容器迁移。这篇博客主要讲的是docker,这里我们主要讲讲如何使用docker迁移

    解决办法(超简单) 容器迁移

    export / import

    源服务器上执行

    docker export 83271b648212 >time.tar //导出容器,这里这个数字是容器id,会得到一个 tar压缩包
    

    解释:这个压缩包打开可以看到,其实是一个linux服务器的目录结构,这个命令将容器以及容器运行的环境打包了

    在目的服务器上执行

    cat time.tar | sudo docker import - time:v2 //导入容器,导入得到一个镜像,使用 带command /bin/bash 的docker run
    即可得到之前的容器包括文件
    

    启动镜像

    sudo docker run -itd --name import_test -p 8087:8080 time:v2 /bin/bash




    save / load

    sudo docker save web > web.tar
    sudo docker load < web.tar

    到此这篇关于docker时区问题和迁移数据问题的文章就介绍到这了,更多相关docker时区问题和迁移数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    上一篇:docker安装openjdk并运行jar包的操作方法
    下一篇:Docker方式启动tomcat访问首页出现404错误
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    docker时区问题和迁移数据问题 docker,时区,问题,和,迁移,