zoukankan      html  css  js  c++  java
  • 记录在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 run -v /home/ftpdata:/containerftpdata --net=host -itd --privileged=true --name centos_ftp_host centos /usr/sbin/init
    指定host网络模式创建容器,无需端口映射,使用主机的网络堆栈,这种模式可以修改优化容器内核参数
    #docker exec -it centos_ftp /bin/bash
    进入容器

     修改容器时间

    # mv localtime localtime_bak
    # cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    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

    如果指定host网络模式创建的容器,可在centos 7虚拟机中调优内核参数,容器的内核参数也随之生效

    #vi /etc/sysctl.conf
    net.ipv4.tcp_keepalive_time = 30    
    #每30s发送一次keepalive数据包
    net.ipv4.tcp_keepalive_intvl = 10
    #确定keepalive探针在第一次保持活动探测后每10s发送一次
    net.ipv4.tcp_keepalive_probes = 6
    #超时前的探测次数
    net.ipv4.tcp_fin_timeout = 300
    #系统默认的超时时间
    
    #sysctl -p
    #reboot

     4、路由器端口映射

    21端口和48000-50000端口  

  • 相关阅读:
    Regex一些基本的方法
    正则表达式中特殊字符的含义
    demo_36 收藏与点赞功能实现_02
    demo_36 收藏与点赞功能实现_01
    demo_35 关注作者_02 关注作者功能实现
    demo_35 关注作者_01 云函数实现
    demo_34 评论内容实现_6 实现对子回复的回复
    demo_34 评论内容实现_5 对回复的回复的逻辑实现并渲染到页面
    demo_34 评论内容实现_4 实现对评论的评论
    demo_34 评论内容实现_3 从数据库加载评论
  • 原文地址:https://www.cnblogs.com/laotieshan/p/12103016.html
Copyright © 2011-2022 走看看