我目前正在尝试使用 Docker 创建 PHP 开发环境。有多个容器(nginx、php7 + 数据容器、mysql + 数据容器、phpmyadmin)运行并相互连接,目前都正常工作。为了方便其他开发人员,我正在 mysql 容器中添加一些脚本,以执行以下操作:
- 将数据库重置为初始数据库
- 将数据库重置为生产数据库的当前转储
我提供一个开发服务器,每 15 分钟从生产系统拉取一个实时转储,并将其放在一个众所周知的目录中。现在,我想向 mysql 容器中添加第二个脚本,基本上执行以下操作:
使用开发人员的 SSH 密钥(之前已放置在可访问的文件夹中),连接到开发机器,获取 SQL 转储并用该内容替换数据库。
我的当前问题是我不知道如何获取数据。我正在使用 mysql 镜像作为基础镜像,在容器内部没有可用的 scp 或类似命令。
问题:如何实现上述问题?我是否可以在容器中安装 scp 命令?我不想依赖于在实际主机上运行的脚本,因为使用了各种操作系统。
ssh <dev-machine> "mysqldump -u<user> -p<password> mydb" > mydb.sql
? - Adam