一、注意点
1、由于ftp需要数据传输端口,而且要很多,所以启用容器的时候要提前映射一段端口,本文映射31100-31110
2、增加--privileged
以启动vsftpd服务
3、本文写的是匿名模式,要想系统用户登陆使用fauria/vsftpd
镜像,挺好用。
二、安装准备
一个Centos7基础镜像liuli/centos7.6:base_images
制作方法:https://blog.csdn.net/qq_39680564/article/details/91047536
启动命令:
docker run -d --privileged -p30020-30021:20-21 -p31100-31110:31100-31110 --name vsftpd liuli/centos7.6:base_images /usr/sbin/init
-p30020-30021:20-21 映射20和21端口
-p31100-31110:31100-31110 映射31100-31110端口作为端口范围
进入镜像:
docker exec -it vsftpd bash
安装service命令:
yum install -y initscripts
安装vsftpd:
yum install -y vsftpd
安装的版本
Installed:
vsftpd.x86_64 0:3.0.2-25.el7
准备工作完成
三、修改配置文件
修改vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
修改如下内容:
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_umask=022
xferlog_file=/var/log/xferlog
xferlog_std_format=NO
pasv_min_port=31100
pasv_max_port=31110
启动vsftpd服务
service vsftpd start
修改pub目录权限,防止匿名用户不能上传、下载、修改文件
chmod 777 /var/ftp/pub
数据目录:/var/ftp/pub
日志文件:/var/log/vsftpd.log
四、测试
浏览器访问:ftp://192.168.0.20:30021/ (主机IP+映射的21端口)
客户端链接 选择匿名方式
查看目录
上传测试
查看日志:
五、保存镜像
docker commit vsftpd liuli/vsftpd:anonymous