【发布时间】:2018-02-24 22:32:11
【问题描述】:
如何使用 FTP 客户端将传输文件传输到在远程 Ubuntu 服务器上运行的 Docker 容器中?我可以通过 SSH 连接到服务器并使用 docker cp,它工作正常。但是我有一个客户需要能够使用 FileZilla 之类的东西来做到这一点。这可能吗?
【问题讨论】:
标签: docker ftp transfer filezilla docker-container
如何使用 FTP 客户端将传输文件传输到在远程 Ubuntu 服务器上运行的 Docker 容器中?我可以通过 SSH 连接到服务器并使用 docker cp,它工作正常。但是我有一个客户需要能够使用 FileZilla 之类的东西来做到这一点。这可能吗?
【问题讨论】:
标签: docker ftp transfer filezilla docker-container
您不应将文件传输到正在运行的容器映像中。 这是一个非常糟糕的主意。
容器总是来来去去,大多数容器编排器会自动重启容器,因此您上传的文件将在容器从其原始映像干净地重新启动时被擦除。
最佳实践:每次您需要对容器内运行的生产应用程序进行更改时,重新构建并重新部署容器映像。
如果您需要测试目的: Docker 容器不会公开 FTP 服务器,因为容器应该只运行 1 个进程(即您的 ENTRYPOINT 应用程序)。但是,您可以使用docker cp 之类的命令将文件从/复制到正在运行的容器中。
【讨论】:
我不是 docker 专家,但你可以试试这个:
您可以在运行容器时公开多个端口。 所以,你也可以暴露 FTP 端口,像这样。
docker run --name containername -p 3000:80 -p 3001:21 -d dockerimagename
在这个使用-p 3001:21 的示例中,您将容器的端口 21 暴露给服务器的端口 3001,因此您可以使用 filezilla 输入服务器的 ip 作为主机,并将 3001 作为端口。
【讨论】: