This commit is contained in:
2024-10-28 19:59:39 +08:00
parent a05f3e15eb
commit 4dc7551228
10 changed files with 575 additions and 0 deletions

16
vsftpd/Demo/README.md Normal file
View File

@@ -0,0 +1,16 @@
# 部署 vsftpd
- 服务器数据盘挂载到 /data/ 目录下
- 根据实际环境修改
- docker-compose.yml
- 创建目录
```
grep '\<source:' docker-compose.yml | cut -d: -f2 | xargs mkdir -p
```
- 启动
```
docker-compose up -d
```

View File

@@ -0,0 +1,73 @@
version: "3.7"
services:
# 默认开启 anonymous 用户,无密码,数据目录是 /var/lib/ftp/
# 把容器的数据目录挂载到宿主机数据盘 /data/ftp
# 默认主动模式,控制端口默认监听 21
vsftpd-anonymous:
image: harbor.colben.cn/general/vsftpd:latest
container_name: vsftpd-anonymous
restart: "on-failure"
network_mode: host
volumes:
- type: bind
source: ./vsftpd/vsftpd.conf
target: /etc/vsftpd/vsftpd.conf
- type: bind
source: ./vsftpd/log
target: /var/log/vsftpd
- type: bind
source: /data/ftp
target: /var/lib/ftp
# 默认开启 anonymous 用户,无密码,数据目录是 /var/lib/ftp/
# 创建普通用户 user1uid: 1001密码: 123456允许上传下载数据目录是 $HOME
# 把容器的数据目录挂载到宿主机数据盘 /data/ftp
# 默认主动模式,控制端口监听 3021
vsftpd-full:
image: harbor.colben.cn/general/vsftpd:latest
container_name: vsftpd-full
restart: "on-failure"
environment:
FTP_USER_1001: 'user1:123456'
VSFTPD_OPTS: '-owrite_enable=YES -olisten_port=8021'
network_mode: host
volumes:
- type: bind
source: ./vsftpd/vsftpd.conf
target: /etc/vsftpd/vsftpd.conf
- type: bind
source: ./vsftpd/log
target: /var/log/vsftpd
- type: bind
source: /data/ftp/anonymous
target: /var/lib/ftp
- type: bind
source: /data/ftp
target: /home
# 不允许 anonymous 登录
# 创建普通用户 user2uid 是 1002密码: 123456允许上传下载数据目录是 $HOME
# 创建普通用户 user3uid 是 1003密码: 123456允许上传下载数据目录是 $HOME
# 把容器的数据目录挂载到宿主机数据盘 /data/ftp
# 开启被动模式,控制端口监听 8021数据端口监听 8022
vsftpd:
image: harbor.colben.cn/general/vsftpd:latest
container_name: vsftpd
restart: "on-failure"
environment:
FTP_USER_1002: 'user2:123456'
FTP_USER_1003: 'user3:123456'
VSFTPD_OPTS: '-oanonymous_enable=NO -owrite_enable=YES -olisten_port=8021 -opasv_min_port=8022 -opasv_max_port=8022'
network_mode: host
volumes:
- type: bind
source: ./vsftpd/vsftpd.conf
target: /etc/vsftpd/vsftpd.conf
- type: bind
source: ./vsftpd/log
target: /var/log/vsftpd
- type: bind
source: /data/ftp
target: /home