在 Docker 容器中安装 SCP

Install SCP in Docker container

我目前正在尝试 docker 以创建 PHP 开发环境。有几个容器(nginx,php7 + 数据容器,mysql + 数据容器,phpmyadmin)运行 并相互连接,到目前为止工作正常。为方便起见,我将一些脚本添加到 mysql 容器中,其他开发人员可以使用这些脚本来:

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

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

我目前的问题是不知道如何获取数据。我使用 mysql 图像作为基础图像,在容器内没有可用的 scp 或类似文件。

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

将以下内容添加到您的 Dockerfile

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

对于 CentOS 和 Red Hat,将以下行添加到您的 Dockerfile(确保 USER 是 still/again root)。

RUN yum update -y && yum install -y openssh-clients

不,终止符 s 不是拼写错误;与 Ubuntu/Debian 世界相比,包名称是一个复数词。