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

Mah*_*an 0 containers clone docker

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

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

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

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

yam*_*enk 7

docker保存容器的方法是使用docker commit.然而:

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

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

有两步解决方案:

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

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