2016-12-16 1820 views
1

我目前正在使用docker创建一个PHP开发环境。有几个容器(nginx,php7 +数据容器,mysql +数据容器,phpmyadmin)运行并相互连接,目前工作状况良好。为了方便起见,我加入了一些脚本到MySQL容器可以由其他的开发者用来:将SCP安装在Docker容器中

  • 数据库恢复到初始数据库
  • 数据库恢复到生产数据库
  • 的当前转储

我提供从生产系统中翻出一个实况转储每隔15分钟,并将其放置在众所周知的目录在开发服务器。现在我想将第二个脚本添加到mysql容器中,它基本上执行以下操作:

使用开发人员的SSH密钥(之前已放置在可访问的文件夹中),连接到开发计算机,获取SQL转储并用此内容替换数据库。

我现在的问题是,我不知道如何获取数据。我正在使用mysql映像作为基础映像,在容器内部没有可用的scp或类似映像。

问题:如何实现上述问题?我可以以某种方式在容器中安装scp命令吗?我不想因为各种操作系统的使用依赖于实际的主机上运行的脚本。

+0

什么是从安装SCP阻止你?什么是从刚刚'SSH “的mysqldump -u -p MYDB”> mydb.sql'阻止你? – Adam

+0

我在容器内既没有scp也没有ssh可用。我将如何安装Docker容器的内部? –

回答

5

以下添加到您的Dockerfile

RUN apt-get update && apt-get -y install openssh-client

+0

不知道这可能只是简单地安装这样的软件。无论如何...'apt-get update && apt-get -y install openssh-client'完成了这个任务。谢谢。 –