#查询镜像
docker search sftp
#安装并运行sftp
docker run --name sftp -v /host/upload:/home/admin/upload --privileged=true -p 2222:22 -d atmoz/sftp admin:admin:::upload
#使用java代码上传时需要加上默认上传目录,否则报无权限操作,即channelSftp.put(sbs,"/upload/"+filename,ChannelSftp.OVERWRITE);
#参数说明
#--name sftp 容器名称
#-v /host/upload:/home/admin/upload 其中冒号前边的是宿主机目录,后边的挂载到容器中的目录,如果本地目录/host/uplaod不存在会自动创建
#–privileged=true 由于linux的selinux安全规则所以需要给容器加特权
#-p 2222:22 将宿主机的2222端口映射到容器的22端口,这样方位宿主机的2222端口则会转发到容器的22端口上
#-d atmoz/sftp 使用dockup hub中的atmoz/sftp镜像创建容器
#admin:admin:::upload 其中admin为用户名,admin为密码,upload为上传目录
#注意事项:账户不能设置为root,设置后不能正常登录(原因暂时未明)
#进入容器
docker exec -it e22eb5da1095 /bin/bash # 进入docker容器,这里使用容器名称或CONTAINER ID都可
#连接sftp
sftp -P2222 admin@ip #sftp -P端口号 用户名@服务器ip
Docker搭建sftp
于 2023-02-21 10:31:54 首次发布