如何使用FTP客户端将传输文件传输到在远程Ubuntu服务器上运行的Docker容器中?我可以通过SSH连接到服务器并使用docker cp
,这可以正常工作。但我有一个客户需要能够使用像FileZilla这样的东西。这可能吗?
答案 0 :(得分:4)
我不是Docker的专家,但您可以试试这个:
运行容器时可以显示多个端口。 因此,您也可以公开FTP端口,就像这样。
docker run --name containername -p 3000:80 -p 3001:21 -d dockerimagename
在这个带有-p 3001:21
的示例中,您将容器的端口21暴露给服务器的端口3001,因此您可以使用服务器的ip输入filezilla作为主机,输入3001作为端口。
答案 1 :(得分:0)
您不应将文件传输到正在运行的容器映像中。 好主意。
容器一直在移动,大多数容器协调器会自动重新启动容器,因此,当容器以完全干净的原始形式重新启动时,您上载的文件将被擦除。
最佳实践:每次需要更改在容器内运行的生产应用程序时,都重新构建并重新部署容器映像。
如果您需要测试: Docker容器不公开FTP服务器,因为这些容器只能运行1个进程(即ENTRYPOINT应用程序)。但是,您可以使用docker cp
之类的命令从正在运行的容器中复制文件或将文件复制到正在运行的容器中。