Linux FTP服务器搭建(Docker)

目录

mkdir -p /opt/ftpData


​​​​​​​用户

创建一个 FTP 用户组,用于存放 FTP 用户。

# groupadd ftpgroup

创建 FTP 用户登入时的主目录的父目录

# cd /home/

# pwd

/home

# mkdir ftpusers

# cd ftpusers/

# pwd

/home/ftpusers

创建一个 FTP 用户

创建一个 FTP 用户,指定登入时的主目录并加入 ftpgroup 组:

# useradd -d /home/ftpusers/ftpuser1 -g ftpgroup ftpuser1

设置密码:

# passwd ftpuser1

设置不允许这个用户登陆操作系统:

# usermod -s /sbin/nologin ftpuser1


Docker

获取镜像

docker pull fauria/vsftpd

运行

docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /opt/ftpData:/home/vsftpd -e FTP_USER=ftpuser1 -e FTP_PASS=ftpuser1 -e PASV_ADDRESS=192.172.34.162 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd

PASV_ADDRESS需改为自己的宿主机ip

-p 进行端口绑定映射

-v 进行文件目录的映射

FTP_UESR 和FTP_PASS如果设定了会在container的/etc/vsftpd/virtual_users.txt里面

PASV_ADDRESS指的的宿主机地址

PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围

必须在服务器的防火墙中开启20、21、22和21100/21110端口

进入容器

docker exec -i -t vsftpd bash

编辑配置文件写入用户名和密码

vi /etc/vsftpd/virtual_users.txt

 注意:使用vi编辑指令,其中奇数行为用户名,临近的下一个偶数行为密码,创建container时参数未加入用户名和密码,系统会默认创建admin和随机密码.


​​​​​​​验证

浏览器:ftp://192.172.34.162/

ftpuser1

ftpuser1


​​​​​​​FTP客户端

yum -y install ftp


参考

使用 Docker 搭建 FTP 服务_iw1210的博客-CSDN博客_docker ftp

Docker | 搭建一个ftp服务器 - 简书

springboot集成ftp - 迷茫的小草 - 博客园

FTP的主动模式和被动模式 - 学海无涯1999 - 博客园

springBoot 实现ftp上传与下载_小麻雀@java的博客-CSDN博客_springboot实现ftp

你可能感兴趣的:(DevOps,docker,linux,ftp)