2016-10-28 59 views
0

我正在改变我的环境从vagrant到docker,并且遇到了一个问题。随着vagrant,我有一个bash文件,将从ftp中提取数据并将其恢复到本地,以便我可以使用最新的数据。使用Laravel/Docker备份和恢复mysql数据库

这是我的代码

php artisan db:restore --database=mysql --source=ftp --sourcePath=$(date +'%Y')"/"$(date +'%m')"/"$(date +%m-%d-%Y -d "yesterday")".gz" --compression=gzip 

PHP工匠迁移

里面我的工作我的容器运行这个的,它不会找到mysql命令因为MySQL是在不同的容器中。我能做些什么来解决我的工作流程?

回答

0

This answer是关于rails迁移,但是您可以采用类似laravel的方法。创建一个容器,该容器包含所需的laravel工具和必需的MySQL工具(可能为this)以连接到数据库。

然后,您可以将其与this answer中的建议结合使用,并创建一个可添加到图像的迁移脚本。正如评论中指出的那样,它可以让您封装从哪里获得备份数据以及如何在一个地方恢复它的逻辑。假设你被点名了这个脚本restore,你可以运行restore命令这样

docker run myimage restore 
+0

谢谢你,帮我明白我需要做的。 – bstory