docker容器迁移到其他服务器

以把旧服务器的mysql容器迁移到虚拟机上为例

1.旧服务器查看路径映射

首先查看mysql容器的路径映射

docker inspect mysql

在这里插入图片描述

2.基本数据由旧服务器迁移到新服务器

可以看到mysql容器的基本数据在/mydata/mysql目录下,那么先在新服务器建立/mydata目录,然后把旧服务器的/mydata/mysql目录下载到本地,再通过ftp或者其他工具上传到新服务器

3.在旧服务器将需要迁移的容器提交为一个镜像

docker commit mysql gulimall-mysql

在这里插入图片描述

4.在旧服务器将镜像文件保存为tar

 docker save -o gulimall-mysql.tar gulimall-mysql

在这里插入图片描述

5.将tar文件转移到新服务器

先在旧服务器把gulimall-mysql.tar下载到本地,再通过工具或者scp命令上传到新服务器

6.在新服务器将tar文件恢复为镜像

docker load -i gulimall.tar

查看镜像

docker images

在这里插入图片描述

7.在新服务器运行容器

加载完成后如果有docker-compose.yml文件的,直接用文件启动容器即可
没有的手动启动(要和之前在旧服务器创建容器的配置一样,镜像名换成恢复出来的镜像名,容器名自定义)

docker run -p 3306:3306 --name gulimall-mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d gulimall-mysql

在这里插入图片描述

8. 进入容器内部查看数据是否存在

[root@localhost /]# docker exec -it gulimall-mysql /bin/bash
root@c79728e96b23:/# pwd
/
root@c79728e96b23:/# cd /var/lib
root@c79728e96b23:/var/lib# ls
apt  dpkg  misc  mysql  mysql-files  mysql-keyring  pam  systemd  vim
root@c79728e96b23:/var/lib# cd mysql
root@c79728e96b23:/var/lib/mysql# ls

在这里插入图片描述
可以看到存在,然后进入mysql查看数据库是否存在
注意一点,在旧服务器设置的mysql密码会同步到新服务器,也就是说在新服务器登录时使用的密码不能是
上面-e MYSQL_ROOT_PASSWORD=root \
的root,我的是因为旧服务器的密码就是root
如果想修改新服务器mysql容器的密码,就先通过旧服务器的mysql密码进入新服务器的mysql,在使用

mysql>user mysql;
mysql>update user set authentication_string=password("newpassword") where user='root';
mysql> flush privileges;
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值