一、场景:
SpringBoot实现SFTP文件上传、下载、删除、预览等功能。
二、准备环境:
1、Docker安装SFTP,如下:
拉取sftp镜像
docker pull atmoz/sftp
启动sftp容器
docker run --name mysftp -v /home/upload:/home/admin/upload --privileged=true -p 2294:22 -d atmoz/sftp admin:admin:upload
- –name mysftp 容器名称
- admin:admin:::upload 其中admin为用户名,pass为密码,upload为上传的文件会保存到容器里面的/home/foo/upload目录里面 --这里我遇到一个问题就是改成:admin:123456:upload 启动之后,我用客户端无法连接,但密码改成:admin就可以连接了。
- -p 2294:22 将宿主机的22端口映射到容器的22端口,这样方位宿主机的22端口则会转发到容器的22端口上
- -d atmoz/sftp 使用dockup hub中的atmoz/sftp镜像创建容器
2、Docker安装Nginx
拉取nginx镜像
docker pull nginx
启动nginx容器
docker run --name=nginx -d -p 8086:80 -v /home/upload:/usr/share/nginx/html nginx

注:这里注意一个小细节,Nginx和SFTP目录挂载"绿色"部分,这个保持一致,这个目录可以自定义。
3、代码
SFTP文件上传、下载、删除的具体代码这里省略,如果需要可以联系我,给我留言。
4、测试SFTP连接


在/home/upload目录下上传文件后,会自动映射到Nginx代理目录下,通过WEB访问就可以看到了。


本文介绍了如何在Docker中安装SFTP和Nginx容器,用于实现SpringBoot应用的SFTP文件上传、下载和删除功能。首先通过Docker拉取并启动sftp镜像,设置用户权限和端口映射。接着拉取并运行nginx镜像,将SFTP的上传目录与Nginx静态文件目录挂载。最后,通过Nginx代理访问SFTP上传的文件。

1124

被折叠的 条评论
为什么被折叠?



