将数据克隆到另一个主机的Docker容器

时间:2018-01-16 06:14:04

标签: docker containers clone

我有两个正在运行的docker容器。 一个容器有MySQL数据,另一个容器有Tomcat中的Java Web应用程序。

如何使用数据将MySQL容器克隆到另一个Docker主机?

尝试保存/加载方法。但没有成功,因为没有数据

但Java Web应用程序容器正在运行

2 个答案:

答案 0 :(得分:5)

docker保存容器的方法是使用docker commit。但是:

  

提交操作不包括容器内安装的卷中包含的任何数据。

因此,保存在卷中的数据不会是提交容器的一部分。这是MySQL docker镜像的情况,它将数据保存在/var/lib/mysql下并将其声明为docker volume。

有两步解决方案:

  1. 使用docker commit将容器提交到新图像并将此图像传输到另一台计算机。

  2. 使用docker cp <mysql-container>:/var/lib/mysql ./mysql-data从旧容器复制数据文件夹,并将mysql-data文件夹传输到新计算机。启动新容器时     在新主机上,使用docker run -v ./mysql-data:/var/lib/mysql ...运行它。这将从旧容器挂载数据文件夹,您应该获得一个包含数据的相同容器。

答案 1 :(得分:0)

您是否尝试过创建数据卷容器?将卷目录挂载到mysql容器

Animal

请参阅此链接以获取更多详细信息 https://www.melvinvivas.com/using-docker-data-volume-with-a-mysql-container/