前言
docker方式部署ftp服务,实现在win系统上上传文件到服务器上
部署
shell脚本方式部署
[root@localhost ~]# docker run -d \
--privileged=true \
-u root \
-p 20:20 \
-p 21:21 \
-p 21100-21110:21100-21110 \
-v /data:/home/vsftpd \
-e FTP_USER=www \
-e FTP_PASS=confirm \
-e PASV_ADDRESS=10.0.0.169 \
-e PASV_MIN_PORT=21100 \
-e PASV_MAX_PORT=21110 \
--name vsftpd \
--restart=always \
fauria/vsftpd
docker-compose编排容器方式部署
[root@localhost ~]# cat > docker-compose.yml <<-EOF
version: "3.5"
services:
ftp:
image: fauria/vsftpd
container_name: ftp
hostname: ftp
privileged: true
user: root
ports:
- 20-21:20-21
- 21100-21110:21100-21110
environment:
- FTP_USER=www
- FTP_PASS=hv2peYd0Agi
- PASV_ADDRESS=172.18.176.102
- PASV_MIN_PORT=21100
- PASV_MAX_PORT=21110
volumes:
- /etc/localtime:/etc/localtime:ro
- /opt/web/default/uploads:/home/vsftpd
restart: always
tty: true
EOF
添加ftp用户
[root@localhost ~]# docker exec -it vsftpd /bin/bash
[root@15a26502c00b /]# cat /etc/vsftpd/virtual_users.txt
www # 用户名
hv2peYd0Agi # 用户密码
web # 添加的用户名
xxxx # 添加的用户密码
[root@15a26502c00b /]# mkdir -p /home/vsftpd/web
[root@15a26502c00b /]# db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
[root@15a26502c00b /]# quit
[root@localhost ~]# docker restart vsftpd
客户端连接
可以使用FileZilla、xftp等工具,这里不再赘述
结语
… …