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

时间:2017-01-19 20:27:01

标签: networking docker sftp file-transfer

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

谢谢。

2 个答案:

答案 0 :(得分:4)

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

docker run -p 10022:22 app_container

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

答案 1 :(得分:2)

您还可以使用“ docker cp”在容器和本地驱动器之间进行复制。

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

docker cp c867cee9451f:/var/www/html/themes/ .

时将带有子目录的整个主题文件夹复制到本地驱动器
docker cp c867cee9451f:/var/www/html/themes/* .  #### does not work

不起作用。