记录在docker中部署pure-ftp

Posted laotieshan

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录在docker中部署pure-ftp相关的知识,希望对你有一定的参考价值。

1、部署环境

普通物理机一台(6G内存,500G硬盘),windows server 2016操作系统。

安装vmware workstation  pro14,新建centos 7虚拟机。

2、在centos 7虚拟机中安装docker、创建容器、在容器中安装pure-ftp

2.1、禁用SELINUX

#vi /etc/selinux/config
SELINUX有以下三种设置,设置为第一种
SELINUX=disabled
SELINUX=enforcing
SELINUX=permissive
 

2.2、安装docker 

#yum install docker
#systemctl start docker.service       
#systemctl enable docker.service

 

2.3、下载镜像到本地

#docker images
查看本机镜像
#docker pull centos
下载镜像
#docker images
查看本机镜像

 

2.4、创建容器

#docker run -v /home/ftpdata:/containerftpdata -p 21:21 -p 48000-50000:48000-50000 -itd --privileged=true --name centos_ftp centos /usr/sbin/init
创建容器
#docker exec -it centos_ftp /bin/bash
进入容器

 

2.5、在容器中安装pure-ftp

第一步:安装pure-ftp
默认的 yum 源没有提供 pure-ftpd,需要先安装 epel 扩展源:
# yum install epel-release
然后使用 yum 命令安装Pure-ftpd:
# yum install pure-ftpd
第二步:修改配置文件
# vi /etc/pure-ftpd/pure-ftpd.conf
去掉#注释,指定路径,PureDB用户数据库文件
PureDB /etc/pure-ftpd/pureftpd.pdb
开启日志 /var/log/pureftpd.log
VerboseLog yes
拒绝匿名用户登录
NoAnonymous yes
使用被动模式,并限制端口范围
PassivePortRange 48000 50000
删掉注释,并将192.168.0.1修改为当前服务器的公网IP
ForcePassiveIP 替换为当前服务器的公网IP
第三步:创建账户,配置权限
添加ftp用户组
# groupadd ftpgroup
#useradd -g ftpgroup -s /sbin/nologin -M ftpuser
创建目录并配置目录权限
# mkdir /containerftpdata/替换为创建的目录 -p
# chown ftpuser.ftpgroup /containerftpdata/替换为创建的目录 -R
创建虚拟账户
# pure-pw useradd 替换为虚拟账户 -u ftpuser -d /containerftpdata/替换为创建的目录
随后会提示输入这个虚拟用户名的登录密码
#pure-pw mkdb
第四步:启动pure-ftpd
# systemctl enable pure-ftpd.service
# systemctl start pure-ftpd.service

 

2.6、安装net-tools

#yum install net-tools
#netstat -lntp
查看 21 端口是否开启
#ps aux | grep ftp
查看 ftp 进程

 

3、centos 7虚拟机防火墙设置

#firewall-cmd --permanent --add-port=21/tcp 
#firewall-cmd --permanent --add-port=48000-50000/tcp
#firewall-cmd --reload
#firewall-cmd --list-all
#yum install net-tools
#netstat -lntp

 

4、路由器端口映射

21端口和48000-50000端口  

以上是关于记录在docker中部署pure-ftp的主要内容,如果未能解决你的问题,请参考以下文章

前端docker部署问题记录

docker 部署 coredns(内部域名解析)

docker 部署 coredns(内部域名解析)

docker 部署nginx、php-fpm错误记录

我的docker随笔34:gitlab服务部署

我的docker随笔34:gitlab服务部署