docker时区问题和迁移数据问题(docker时区问题和迁移数据问题)
docker时区问题和迁移数据问题
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 部署参数配置(Docker部署nGrinder性能测试平台过程解析)
- dockerexec详解(docker中的run/cmd/entrypoint的区别详解)
- 更改docker容器的ip地址(docker容器通过ping直接运行获取公网IP操作)
- docker如何搭建mysql(docker容器访问宿主机的MySQL操作)
- docker和jenkins部署的区别(docker搭建jenkins服务的示例)
- docker 启动rabbitmq(docker安装rabbitmq无法进入管理页面的问题)
- docker 部署springboot项目(Spring Boot Docker打包工具小结)
- docker无法启动内存不足(解决docker磁盘空间不足问题)
- docker启动失败容器目录结构(docker容器中安装vim问题解决)
- docker查看运行容器参数(Docker容器时区调整操作)
- docker如何搭建gitlab(docker+gitlab+gitlab-runner部署详解)
- docker镜像配置的挂载路径(docker挂载本地目录和数据卷容器操作)
- docker 查看容器下进程(docker 查看容器日志命令的实现)
- docker资源隔离的实现方式(docker配置openGauss数据库的方法详解)
- docker-compose查看服务状态(Docker+DockerCompose封装web应用的方法步骤)
- docker搭建方法(超简单实现Docker搭建个人博文系统)
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
- 河南尉氏县因地制宜发展果蔬种植 水坡镇绿宝甜瓜变 金瓜(河南尉氏县因地制宜发展果蔬种植)
- 谢广坤,你这么欺负谢腾飞,良心不会痛吗(你这么欺负谢腾飞)
- 乡村爱情15 宋晓峰怀疑自己孩子,腾飞与姜奶奶亲子鉴定出结果(宋晓峰怀疑自己孩子)
热门推荐
- php依赖注入和控制反转的区别(php反射学习之依赖注入示例)
- 存储过程异常处理
- docker和jenkins部署的区别(docker搭建jenkins服务的示例)
- 远程给docker容器执行命令(Docker命令让普通用户能够执行的实现)
- Visual studio中使用VSCommands插件在大括号尾部显示方法或过程名字
- sql的ddl语句(使用sqlplus创建DDL和DML操作方法)
- dedecms文章详情表(让Dedecms自带搜索实现全文检索支持标题与内容)
- 微信浏览器中JS实现返回操作
- 超简单使用Python换脸实例(超简单使用Python换脸实例)
- web前端快速入门之html(Web前端开发规范2017HTML/JavaScript/CSS)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9