docker如何容器迁移(实战)

这篇具有很好参考价值的文章主要介绍了docker如何容器迁移(实战)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

手把手教你如何做容器迁移

第一步准备数据

假设要迁移一个 mysql 服务(docker部署),由于数据库过大(超过50 GB),用mysqldump备份和还原则太过耗时,下面尝试拷贝目录的方式来迁移,详细过程如下:文章来源地址https://www.toymoban.com/news/detail-699381.html

老机器:192.168.4.231
新机器:192.168.4.232
  • 老机器:创建mysql 5.7容器并准备测试数据
docker pull mysql:5.7
mkdir -p /data/docker/mysql/{binlog,log,opt,var}
curl -sL http://iso.sqlfans.cn/docker/yml/mysql-my.cnf -o /data/docker/mysql/my.cnf
docker run --name mysql -v /data/docker/mysql/my.cnf:/etc/my.cnf -v /data/docker/mysql/opt:/opt -v /data/docker/mysql/log:/var/log/mysql -v /data/docker/mysql/var:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=z27SoKdj_JxnyvG8 -d mysql:5.7 --lower_case_table_names=1

sleep 30
docker exec -it mysql /bin/bash -c 'mysql -uroot -pz27SoKdj_JxnyvG8 -e"create database if not exists abc;"'
docker exec -it mysql /bin/bash -c 'mysql -uroot -pz27SoKdj_JxnyvG8 -e"show databases;"'

容器迁移步骤

  • 第1步,老机器:执行 docker inspect 找到该容器所映射的外部目录,示例 /data/docker/mysql/*
[root@192.168.4.231]# docker inspect mysql | more
        "HostConfig": {
            "Binds": [
                "/data/docker/mysql/my.cnf:/etc/my.cnf",
                "/data/docker/mysql/opt:/opt",
                "/data/docker/mysql/log:/var/log/mysql",
                "/data/docker/mysql/var:/var/lib/mysql"
            ],
  • 第2步,老机器:执行 docker ps 找到该容器所使用的镜像 repository和tag,示例 mysql:5.7
[root@192.168.4.231]# docker ps -a | grep mysql
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS             PORTS                      NAMES
da7c4b1a9d4f   mysql:5.7     "docker-entrypoint.s…"   29 minutes ago   Up 29 minutes      0.0.0.0:3306->3306/tcp     mysql
  • 第3步,老机器:执行 docker save 导出镜像(记得带上repository和tag),语法参考:docker save -o 镜像包.tar 镜像名:tag
[root@192.168.4.231]# docker save -o /opt/mysql.20220413.tar mysql:5.7

  • 第4步,老机器:建议将该容器停掉,免得迁移前后的数据不一致
[root@192.168.4.231]# docker ps -a | grep mysql
CONTAINER ID   IMAGE         COMMAND                  CREATED          STATUS             PORTS                      NAMES
da7c4b1a9d4f   mysql:5.7     "docker-entrypoint.s…"   29 minutes ago   Up 29 minutes      0.0.0.0:3306->3306/tcp     mysql

[root@192.168.4.231]# docker stop mysql
  • 第5步,老机器:同步镜像文件及容器目录到新机器
[root@192.168.4.231]# scp -r -P1618 /opt/mysql.20220413.tar 192.168.4.232:/opt/
[root@192.168.4.231]# scp -r -P1618 /data/docker/mysql/* 192.168.4.232:/data/docker/mysql/
  • 第6步,新机器:导入该容器所引用的镜像包.tar,语法参考:docker load -i 镜像包.tar
[root@192.168.4.232]# docker load -i /opt/mysql.20220413.tar

[root@192.168.4.232]# docker images
REPOSITORY                                              TAG                    IMAGE ID       CREATED         SIZE
mysql                                                   5.7                    3f3447deacaa   12 days ago     455MB
  • 第7步,新机器:启动容器,最好与老容器的启动命令一致
docker run --name mysql -v /data/docker/mysql/my.cnf:/etc/my.cnf -v /data/docker/mysql/opt:/opt -v /data/docker/mysql/log:/var/log/mysql -v /data/docker/mysql/var:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=z27SoKdj_JxnyvG8 -d mysql:5.7 --lower_case_table_names=1
  • 第8步,新机器:确认一下数据
docker exec -it mysql /bin/bash -c 'mysql -uroot -pz27SoKdj_JxnyvG8 -e"show databases;"'

到了这里,关于docker如何容器迁移(实战)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于docker容器部署MySQL数据库

    一,概要.... 2 二,环境准备.... 3 2.1,docker部署.... 3 三,使用docker部署mysql 6 3.1、创建数据存放目录.... 6 3.2、创建bridge网络并指定IP区间.... 6 3.3、Docker安装MySQL. 6 3.4、自定义配置.... 7 四,MySQL简单的配置.... 9 4.1、在容器 mysql 中开启一个交互模式的终端.... 9 4.2、mysql登录....

    2024年02月04日
    浏览(78)
  • Mysql Docker 容器重启后数据库数据丢失分析

    项目复用nacos的mysql数据库且msyql容器已存在,之前已新建好数据库并插入数据。本次需要更新数据库表结构和数据。重启myql导致数据库数据丢失。 另外,本次事故是昨天发生未及时记录,日志不够详细。 本次需要更新数据库表结构和数据,通过dbviewer操作失败报 异常,部分

    2024年02月01日
    浏览(61)
  • Docker 容器搭建mysql 集群(主从数据库)

    目录 1.背景         2.设备及软件版本 3.开始搭建(这里不介绍安装docker及mysql) 3.1创建主数据库容器(master) 3.2查看容器是否创建成功 3.3进入修改容器下的/etc/my.cnf文件 3.3.1先拷贝my.cnf到容器外修改完再覆盖容器原来的my.cnf文件 3.4重启mysql容器使配置文件生效 3.5查看是否

    2024年02月08日
    浏览(101)
  • Mysql数据库迁移|如何把一台服务器的mysql数据库迁移到另一台服务器上的myql中

      那么这里博主先安利一下一些干货满满的专栏啦! Linux专栏 https://blog.csdn.net/yu_cblog/category_11786077.html?spm=1001.2014.3001.5482 操作系统专栏 https://blog.csdn.net/yu_cblog/category_12165502.html?spm=1001.2014.3001.5482 手撕数据结构 https://blog.csdn.net/yu_cblog/category_11490888.html?spm=1001.2014.3001.5482 一、在

    2024年02月06日
    浏览(88)
  • Docker容器MySQL数据库的备份与还原,以及每天定时自动备份.

    根据自己需要,我这个是Debian的5.7版本的镜像。 这个地方一定要注意: 有些版本的docker镜像里面移除了MySQL自带的工具。包括Mysqlbinlog,Mysqlcheck等。所以即使你开启了binlog,也是没有办法还原数据的,这里要注意一下镜像的选择。 mkdir三个文件夹,方便持久化。 /home/mysql/c

    2024年02月05日
    浏览(69)
  • 云原生——Docker容器化实战

    ❄️作者介绍:奇妙的大歪❄️ 🎀个人名言:但行前路,不负韶华!🎀 🐽 个人简介:云计算网络运维专业人员 🐽 前言        \\\"Docker\\\"一词指代了多个概念,包括开源社区项目、开源项目使用的工具、主导支持此类项目的公司 Docker Inc.,以及该公司官方支持的工具。这些

    2024年02月11日
    浏览(39)
  • 云原生系列之docker的容器管理实战

    之前我们已经探讨过了docker的镜像,看了下时间,距离上次介绍容器的镜像已经过去两个月了, 如果你已经忘记了,可以直奔专栏:容器管理 从今天开始,我们要探讨docker 的容器了,docker的容器都是从镜像开始创建的,涉及到的操作有: 创建容器,停止容器,进入容器,删

    2024年02月10日
    浏览(49)
  • 【云原生 | Kubernetes 系列】K8s 实战 如何给应用注入数据 II 将pod数据传递给容器

    在上一篇文章中,我们学习了针对容器设置启动时要执行的命令和参数、定义相互依赖的环境变量、为容器设置环境变量,三种设置方式,本篇文章,我们将继续学习数据的传递。 有两种方式可以将 Pod 和 Container 字段传递给运行中的容器: 环境变量 卷文件 这两种呈现 Pod

    2024年01月25日
    浏览(141)
  • docker 容器操作、应用部署、mysql,redis,nginx、迁移与备份、Dockerfile

    mysql部署 redis nginx 常用和不常用的命令 dockerfile构建一个django项目 docker私有仓库 镜像传到官方仓库 镜像分层 私有仓库搭建 新建flask项目app.py 编写Dockerfile 用于构建flask项目的镜像 编写dockercompose的yml文件dockercompose.yml dockercompose启动 项目目录结构 luffy_api/Dockerfile 构建uwsgi+dj

    2023年04月13日
    浏览(54)
  • 云原生Kubernetes:K8S集群实现容器运行时迁移(docker → containerd) 与 版本升级(v1.23.14 → v1.24.1)

    目录 一、理论 1.K8S集群升级 2.环境 3.升级策略 4.master1节点迁移容器运行时(docker → containerd)  5.master2节点迁移容器运行时(docker → containerd)  6.node1节点容器运行时迁移(docker → containerd)  7.升级集群计划(v1.23.14 → v1.24.1) 8.升级master1节点版本(v1.24.1) 9.升级master2节点版本

    2024年02月03日
    浏览(69)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包