docker pull atmoz/sftp
docker run -d -p 10022:22 --name sftpd -v /home/sharefolder/:/home/test/upload atmoz/sftp test:sftptest:::upload
说明:
-p 10022:22 将容器默认的22端口映射为宿主机的10022端口
--name sftpd 容器名称为sftpd
test:sftptest:::upload test为用户名,sftptest为密码,upload为sftp主目录
atmoz/sftp 镜像名称
-v /home/sharefolder/:/home/test/upload 将容器里地址 /home/test/upload挂载到宿主机的 /home/sharefolder/,/home/test/upload为sftp的主目录,上传的文件就在这里,其中/test目录为docker命令中最后test:sftptest:::upload部分而来,宿主机的目录/home/sharefolder/若不存在将自动创建
新建连接,属性填写如下:
用户名密码就是刚才创建容器设置的用户名密码
使用xshell登录后,会显示如下命令行头部,也会提示当前默认映射的本地地址在C盘下
然后在宿主机的目录/home/sharefolder/下创建一个test.txt文件,并写入内容test code
>>touch test.txt
>>vi text.tst
输入内容:test code
esc :wq! 保存退出
在容器的挂载目录下查看,已存在该test文件
在sftp连接页面,使用get命令,即可拉取文件到本地默认路径,若要更改本地路径,则输入lcd命令,回车,会弹出选择本地路径的选择框,直接选择就可以:
在使用get命令前,需要先cd到SFTP的主目录下,或者填写完整路径也可以
我这里更改本地路径为桌面,然后进入到SFTP主目录/upload下,直接执行get test.txt,则文件将直接下载到本地桌面,下载测试完成
直接进入到sftp的主目录/upload 下,然后拖拽文件即可
cd 路径 更改远程目录到“路径”
lcd 路径 更改本地目录到“路径”
chgrp group path 将文件“path”的组更改为“group”
chmod mode path 将文件“path”的权限更改为“mode”
chown owner path 将文件“path”的属主更改为“owner”
exit 退出 sftp
help 显示这个帮助文本
get 远程路径 下载文件
ln existingpath linkpath 符号链接远程文件
ls [选项] [路径] 显示远程目录列表
lls [选项] [路径] 显示本地目录列表
mkdir 路径 创建远程目录
lmkdir 路径 创建本地目录
mv oldpath newpath 移动远程文件
open [用户@]主机[:端口] 连接到远程主机
put 本地路径 上传文件
pwd 显示远程工作目录
lpwd 打印本地工作目录
quit 退出 sftp
rmdir 路径 移除远程目录
lrmdir 路径 移除本地目录
rm 路径 删除远程文件
lrm 路径 删除本地文件
symlink existingpath linkpath 符号链接远程文件
version 显示协议版本