通过 SFTP 将文件发送到 Docker 容器

Ran*_*102 3 networking sftp file-transfer docker

我有一个 Docker 容器,在 Linux 上运行一个应用程序。该容器托管在 Mac(开发)或 AWS(生产)上。我希望能够远程将文件发送到该容器。我怎样才能做到这一点?

谢谢。

Ved*_*kic 5

您需要在正在运行的映像中安装 SSH 服务器,或者确保已经安装了该服务器。然后,您需要将容器上的 ssh 端口(默认 22)映射到主机的端口,以便您可以从外部主机访问您的容器。例如:

docker run -p 10022:22 app_container
Run Code Online (Sandbox Code Playgroud)

如果在 AWS 上运行,请检查您正在运行该容器的 ec2 实例的安全组,以允许从外部访问主机端口(如上例所示的 10022)。


Thi*_*man 5

您还可以使用“docker cp”从/到容器和本地驱动器进行复制。

请注意语法。* 是不可能的,但 cp 是递归的并复制目录......所以例如

docker cp c867cee9451f:/var/www/html/themes/ .
Run Code Online (Sandbox Code Playgroud)

将整个主题文件夹及其子目录复制到本地驱动器,同时

docker cp c867cee9451f:/var/www/html/themes/* .  #### does not work
Run Code Online (Sandbox Code Playgroud)

行不通的。