This commit is contained in:
colben 2024-10-29 11:24:40 +08:00
parent 4dc7551228
commit cd77e8f4d8
2 changed files with 45 additions and 14 deletions

View File

@ -1,5 +1,36 @@
# 部署 vsftpd # 部署 vsftpd
- 容器的日志目录:/var/log/vsftpd/
- 容器的数据目录
- 匿名用户:/var/lib/ftp/
- 普通用户:$HOME/
- 引入 vsftpd 配置
- 环境变量
```
environment:
VSFTPD_OPTS: '-owrite_enable=YES'
```
- 挂载配置文件
```
volumes:
- type: bind
source: ./vsftpd/vsftpd.conf
target: /etc/vsftpd/vsftpd.conf
```
- 创建 vsftpd 普通用户,通过环境变量引入
```
environment:
FTP_USER_1001: 'user1:123456'
FTP_USER_1002: 'user2:123456'
FTP_USER_1003: 'user3:123456'
# 创建三个用户,用户名分别是 user1、user2 和 user3
# 对应的 uid 分别是 1001、1002 和 1003
# 密码都是 123456
```
- 服务器数据盘挂载到 /data/ 目录下 - 服务器数据盘挂载到 /data/ 目录下
- 根据实际环境修改 - 根据实际环境修改
- docker-compose.yml - docker-compose.yml

View File

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