新搭了一台centos虚拟机,还是使用上一篇文章安装好的mysql容器来做测试。

如果有些命令看不懂,查看我的上一篇文章,docker的安装和测试demo。

传送门:https://blog.csdn.net/qq_16660431/article/details/89817230

1、查看目前加载好的容器,(容器是配置好的镜像,包含软件本地的数据。比如mysql数据库里插入的数据,都会被存在此容器中,备份的时候不会丢失,备份的镜像体积一般大于原镜像)

docker ps

docker镜像备份和恢复

2、这里将此容器拷贝成镜像。

docker commit 原容器id 新镜像名称

docker镜像备份和恢复

3、通过命令查看所有镜像,发现刚才新创建的镜像。

docker镜像备份和恢复

4、这里我们将打包好的镜像转换为tar文件,这里是放到了usr目录下.。

docker镜像备份和恢复

查看usr目录中,出现了压缩好的tar包。

docker镜像备份和恢复

5、停止正在运行中的mysql容器。

docker stop 运行的容器id

docker镜像备份和恢复

6、删除 所有容器。

docker rm `docker ps -a -q`

docker镜像备份和恢复

7、删除所有镜像,这里我们看到,最开始安装的mysql-57-centos7镜像和复制的镜像mysql-xjj都已经被删除。

docker rmi `docker images -q`

docker镜像备份和恢复

8、导入本地备份的镜像的tar包。

docker镜像备份和恢复

8、可以查看,此时备份的docker镜像已经成功导入。

docker images

docker镜像备份和恢复

9、创建mysql容器。

docker run -di --name=mysql-xjj -p 33306:3306 -e MYSQL_ROOT_PASSWORD=root  mysql-xjj

docker镜像备份和恢复

10、启动容器

ps-a 查看已经安装好的容器。

docker restart 镜像id   根据上一步的容器id启动容器
docker镜像备份和恢复

11、此时就可以远程调用mysql了,如果备份前mysql有数据的话,数据也不会损失。

docker镜像备份和恢复

12、备份问题:在使用备份镜像启动容器后,mysql远程连接失败,重启容器和docker均无效。于是我直接reboot重启了虚拟机,然后重启docker和容器,问题得到解决,有知道问题原因的可以告诉我。

相关文章:

  • 2022-12-23
  • 2022-02-15
  • 2022-12-23
  • 2021-05-20
  • 2022-12-23
  • 2022-01-06
  • 2021-08-30
猜你喜欢
  • 2021-07-18
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2021-12-25
相关资源
相似解决方案