Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 从docker到real machine的备份数据库_Mysql_Database_Docker_Localhost_Backup - Fatal编程技术网

Mysql 从docker到real machine的备份数据库

Mysql 从docker到real machine的备份数据库,mysql,database,docker,localhost,backup,Mysql,Database,Docker,Localhost,Backup,解决了 早上好:) 有人从docker备份到主机吗?我有一个MySQL数据库,但我想将它克隆到我的真实机器中,因为每次我运行容器时,它都会创建一个新的映像,但我希望每次都使用这个数据库(所以我希望数据库在真实机器中持久化) 非常感谢 当您的Docker容器已配置为在容器内使用MySQL数据库时,您可以在容器内使用mysqldump进行数据库备份,如下所示: mysqldump database > database.sql (注意!您在容器中运行此操作) 然后可以使用docker con

解决了

早上好:)

有人从docker备份到主机吗?我有一个MySQL数据库,但我想将它克隆到我的真实机器中,因为每次我运行容器时,它都会创建一个新的映像,但我希望每次都使用这个数据库(所以我希望数据库在真实机器中持久化)

非常感谢


当您的Docker容器已配置为在容器内使用MySQL数据库时,您可以在容器内使用
mysqldump
进行数据库备份,如下所示:

mysqldump database > database.sql
(注意!您在容器中运行此操作)

然后可以使用
docker container cp
命令在容器和本地文件系统之间复制文件。例如:

docker container cp <containerId>:/file/path/within/container /host/path/target
docker容器cp:/file/path/in/container/host/path/target
(注意!您可以在本地文件系统中运行它)

因此,使用此示例,命令行将变成:

docker container cp <containerId>:/full/path/to/database.sql .
docker容器cp:/full/path/to/database.sql。

这会将文件
database.sql
复制到您本地文件系统中的当前目录。

您是否创建了卷来保存数据库数据?不,我想这是我真正需要的吗?不,我需要一些东西在docker compose关闭或我关闭计算机时保存我的数据库…所以您需要这个来在计算机重新启动后恢复您的数据库这很好,非常感谢,但我也需要在我的本地机器上复制一份,我想下面有答案:)是的,但为什么你需要在本地机器上复制?你需要一个sql转储还是只想持久化db(这是卷做的)?我觉得容器有问题,数据在phpMyAdmin上,但我找不到mysql db容器IP,所以我无法连接,知道吗?我正在粘贴一张图片,非常感谢!它对我有效:)但我不知道如何通过workbench连接,例如,因为我找不到容器IP,我给你正确的答案,但我希望你知道如何解决查找容器IP的问题。你必须发布db端口,然后从主机通过
localhost:published_db_port