docker搭建sftp服务器
1,下載sftp的docker 鏡像:
?? ?
docker pull atmoz/sftp2,創建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/若不存在將自動創建
3,使用xshell連接sftp服務
? ? 新建連接,屬性填寫如下:
?? ?
? ? 用戶名密碼就是剛才創建容器設置的用戶名密碼
4,下載文件測試
? ? 使用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,則文件將直接下載到本地桌面,下載測試完成
5,上傳文件測試
? ? 直接進入到sftp的主目錄/upload 下,然后拖拽文件即可
?? ?
6,SFTP常用命令:
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 顯示協議版本
總結
以上是生活随笔為你收集整理的docker搭建sftp服务器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LabVIEW中调用Halcon
- 下一篇: 阿里P7的大数据简历,牛逼!