【发布时间】:2020-08-15 12:37:43
【问题描述】:
我有一个在 Linux 上运行应用程序的 Docker 容器。该容器托管在 Mac(开发)或 AWS(生产)上。我希望能够远程发送文件到这个容器。我怎样才能做到这一点?
谢谢。
【问题讨论】:
标签: networking docker sftp file-transfer
我有一个在 Linux 上运行应用程序的 Docker 容器。该容器托管在 Mac(开发)或 AWS(生产)上。我希望能够远程发送文件到这个容器。我怎样才能做到这一点?
谢谢。
【问题讨论】:
标签: networking docker sftp file-transfer
您需要在正在运行的映像中安装 SSH 服务器,或确保已安装。然后您需要将容器上的 ssh 端口(默认 22)映射到主机的端口,以便您可以从外部主机访问您的容器。例如:
docker run -p 10022:22 app_container
如果在 AWS 上运行,请检查您正在运行该容器的 ec2 实例的安全组,以允许从外部访问主机端口(如上例中的 10022)。
【讨论】:
您也可以使用“docker cp”从/到容器和本地驱动器进行复制。
注意语法。 * 是不可能的,但 cp 是递归的并复制目录... 所以例如
docker cp c867cee9451f:/var/www/html/themes/ .
将整个主题文件夹及其子目录复制到本地驱动器,同时
docker cp c867cee9451f:/var/www/html/themes/* . #### does not work
不会工作。
【讨论】: