使用Laravel / Docker备份和恢复mysql数据库

时间:2016-10-28 18:31:06

标签: mysql laravel docker

我正在努力将我的环境从流浪汉改为码头工人,我遇到了一个障碍。使用vagrant我有一个bash文件,它将从ftp中提取数据并在我的本地恢复它,以便我可以使用最新的数据。

这是我的代码

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

php artisan migrate

在我的工作容器里面我运行它并且它找不到mysql命令,因为mysql在不同的容器中。我该怎么做才能解决我的工作流程?

1 个答案:

答案 0 :(得分:0)

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

然后,您可以将其与this answer中的建议结合使用,并创建可添加到图像的迁移脚本。正如larsks在评论中指出的那样,它将允许您封装逻辑以获取备份数据的位置以及如何在一个位置恢复它。假设您将此脚本命名为docker run myimage restore ,则可以像这样运行恢复命令

updateDB