中国建设银行安徽省分行网站,泰安网络科技有限公司电话,wordpress添加新建标签,用家用路由器ip做网站手把手教你如何做容器迁移 
第一步准备数据 
假设要迁移一个 mysql 服务#xff08;docker部署#xff09;#xff0c;由于数据库过大#xff08;超过50 GB#xff09;#xff0c;用mysqldump备份和还原则太过耗时#xff0c;下面尝试拷贝目录的方式来迁移#xff0c;详…手把手教你如何做容器迁移 
第一步准备数据 
假设要迁移一个 mysql 服务docker部署由于数据库过大超过50 GB用mysqldump备份和还原则太过耗时下面尝试拷贝目录的方式来迁移详细过程如下 
老机器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_PASSWORDz27SoKdj_JxnyvG8 -d mysql:5.7 --lower_case_table_names1sleep 30
docker exec -it mysql /bin/bash -c mysql -uroot -pz27SoKdj_JxnyvG8 -ecreate database if not exists abc;
docker exec -it mysql /bin/bash -c mysql -uroot -pz27SoKdj_JxnyvG8 -eshow databases;容器迁移步骤 
第1步老机器执行 docker inspect 找到该容器所映射的外部目录示例 /data/docker/mysql/* 
[root192.168.4.231]# docker inspect mysql | moreHostConfig: {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 
[root192.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 
[root192.168.4.231]# docker save -o /opt/mysql.20220413.tar mysql:5.7 
第4步老机器建议将该容器停掉免得迁移前后的数据不一致 
[root192.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[root192.168.4.231]# docker stop mysql第5步老机器同步镜像文件及容器目录到新机器 
[root192.168.4.231]# scp -r -P1618 /opt/mysql.20220413.tar 192.168.4.232:/opt/
[root192.168.4.231]# scp -r -P1618 /data/docker/mysql/* 192.168.4.232:/data/docker/mysql/第6步新机器导入该容器所引用的镜像包.tar语法参考docker load -i 镜像包.tar 
[root192.168.4.232]# docker load -i /opt/mysql.20220413.tar[root192.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_PASSWORDz27SoKdj_JxnyvG8 -d mysql:5.7 --lower_case_table_names1第8步新机器确认一下数据 
docker exec -it mysql /bin/bash -c mysql -uroot -pz27SoKdj_JxnyvG8 -eshow databases;