我有两个正在运行的Docker容器。一个容器具有包含数据的MySQL,另一个容器具有Tomcat中的Java Web应用程序。
如何使用数据将MySQL容器克隆到另一个Docker主机?
尝试保存/加载方法。但没有成功,因为没有数据
但是Java Web应用程序容器正在运行
保存容器的docker方法是使用docker commit。然而:
提交操作将不包含容器内安装的卷中包含的任何数据。
因此,保存在卷中的数据将不会成为已提交容器的一部分。MySQL docker映像就是这种情况,它将数据存储在下面/var/lib/mysql
并声明为docker卷。
有两个步骤的解决方案:
使用将该容器提交docker commit
到新映像中,并将该映像传输到另一台机器。
使用来从旧容器中复制数据文件夹,docker cp <mysql-container>:/var/lib/mysql ./mysql-data
并将该mysql-data
文件夹传输到新计算机上。在新主机上启动新容器时,请使用运行它docker run -v ./mysql-data:/var/lib/mysql ...
。这将从旧容器中装载数据文件夹,并且您应该获得一个包含数据的相同容器。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句