蘭雅sRGB 个人笔记 https://262235.xyz
提供编程和电脑应用视频教程,工具和源代码
C, C++, Python Programming, Source Code, Video

旧Hexo博客 | Github | IP定位WebAPI | Docker Hub
编程中文文档 | 网盘分享 | 中文Linux命令

使用Docker建立FTP服务临时上传文件

FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。此外,由于FTP传输效率非常高,在网络上传输大的文件时,一般也采用该协议。

默认情况下FTP协议使用TCP端口中的 20和21这两个端口,其中20用于传输数据,21用于传输控制信息。但是,是否使用20作为传输数据的端口与FTP使用的传输模式有关,如果采用主动模式,那么数据传输端口就是20;如果采用被动模式,则具体最终使用哪个端口要服务器端和客户端协商决定。

Docker 建立FTP服务器 脚本命令

ftp_dir=/tmp/ftp
ftp_ip=$(curl ip.sb)

mkdir -p ${ftp_dir}

docker run -d -v ${ftp_dir}:/home/vsftpd \
    -p 20:20 -p 21:21 -p 47400-47470:47400-47470 \
    -e FTP_USER=ftp2021 \
    -e FTP_PASS=ftp2021 \
    -e PASV_ADDRESS=${ftp_ip} \
    --name ftp \
    --restart=always bogem/ftp

Windows 文件管理器地址输入FTP地址就可以上传和下载了

ftp://ftp2021:ftp2021@262235.xyz

使用完成,可以使用命令停止或者删除

# 停止 FTP 容器
docker stop ftp

# 删除 FTP 容器
docker rm -f ftp

发现的问题:挂载已有目录会改变目录拥有者,可以使用chown改回来

  • 如图,我把ftp目录挂载到web目录,导致web不正常,改回来才正常,所以推荐新建一个目录临时挂载
    chown.png

    chown -R www-data:www-data   /var/www/html/
  • 默认挂载目录会有些ftp命令无效,修改挂载点可以解决

    -v /myftp/upgrade:/home/vsftpd/root/upgrade
本原创文章自由转载,转载请注明本博来源及网址 | 当前页面:兰雅sRGB个人笔记 » 使用Docker建立FTP服务临时上传文件