热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

dockerpure-ftp搭建ftp服务器的方法

1.采用docker-compose搭建ftp服务器 docker-compose.yml的内容如下 ftp:  image:

1.采用docker-compose搭建ftp服务器

docker-compose.yml的内容如下

ftp:
 image: stilliard/pure-ftpd

 volumes:
  - "../wp/app:/home/ftpusers/code"
  - "./pure-ftpd:/etc/pure-ftpd"
 ports:
  - "21:21"
  - "30000:30000"
  - "30001:30001"
  - "30002:30002"
  - "30003:30003"
  - "30004:30004"
  - "30005:30005"
  - "30006:30006"
  - "30007:30007"
  - "30008:30008"
  - "30009:30009"
 environment:
  PUBLICHOST: localhost

当该服务器可以连接互联网时,可以直接在docker-compose.yml所在的目录下执行:

$ docker-compose up -d

即可直接进行搭建,若该服务器无法连接外网,则需要将提前准备好的stilliard/pure-ftpd:latest镜像(如名称为:pure-ftpd.tar)载入该服务器

$ docker load -i pure-ftpd.tar

2.给ftp服务器增加虚拟用户

首先,可以在系统中添加相应的用户和组,如用户ftpuser 和组ftpgroup 。

$ groupadd ftpgroup
$ useradd ftpuser -g ftpgroup -d /home/ftp -s /sbin/nologin 

也可以是能登录系统的用户,但最好是不能登录系统的用户,安全。

然后利用pure-pw命令添加虚拟用户,如添加虚拟用户user1,并指定查看目录为/var/www/site1。

 $ pure-pw useradd user1 -u ftpuser -g ftpgroup -d /var/www/site1

另:一个系统用户可以绑定多个虚拟用户,然后控制所查看的目录。如再添加虚拟用户user2,并指定查看目录为/var/www/site2

$ pure-pw useradd user2 -u ftpuser -g ftpgroup -d /var/www/site2

pure-pw完之后会要求输入密码,也就是设置登录ftp用户的密码。添加完之後,让 pure-ftpd 建立虚拟用户数据

$ pure-pw mkdb

这样完了之后:

$ /etc/init.d/pure-ftpd restart

我在添加虚拟用户时,在容器里面执行【/etc/init.d/pure-ftpd restart】没有起到作用,随后执行了ftp服务器容器的restart后,才可以正常使用,建议读者在使用此方法搭建ftp服务器时多尝试哈。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


推荐阅读
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • 本文探讨了在不同场景下如何高效且安全地存储Token,包括使用定时器刷新、数据库存储等方法,并针对个人开发者与第三方服务平台的不同需求提供了具体建议。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • 本文总结了一次针对大厂Java研发岗位的面试经历,探讨了面试中常见的问题及其背后的原因,并分享了一些实用的面试准备资料。 ... [详细]
  • 本文介绍如何在阿里云环境中利用 Docker 容器化技术部署一个简单的 Flask Web 应用,并确保其可通过互联网访问。内容涵盖 Python 代码编写、Dockerfile 配置、镜像构建及容器运行等步骤。 ... [详细]
  • 本文详细介绍了跨站脚本攻击(XSS)的基本概念、工作原理,并通过实际案例演示如何构建XSS漏洞的测试环境,以及探讨了XSS攻击的不同形式和防御策略。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • 本文探讨了一个Web工程项目的需求,即允许用户随时添加定时任务,并通过Quartz框架实现这些任务的自动化调度。文章将介绍如何设计任务表以存储任务信息和执行周期,以及如何通过一个定期扫描机制自动识别并加载新任务到调度系统中。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 本文探讨了在使用 MyBatis 进行批量数据处理时遇到的参数绑定异常问题,并提供了详细的解决方案。 ... [详细]
  • 本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ... [详细]
  • 利用Docker部署JupyterHub以支持Python协同开发
    本文介绍了如何通过Docker容器化技术安装和配置JupyterHub,以实现多用户的Python开发环境,特别适合团队协作场景。 ... [详细]
  • Docker基础入门与环境配置指南
    本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ... [详细]
  • 本文详细探讨了 Android Service 组件中 onStartCommand 方法的四种不同返回值及其应用场景。Service 可以在后台执行长时间的操作,无需提供用户界面,支持通过启动和绑定两种方式创建。 ... [详细]
  • 2017年软件开发领域的七大变革
    随着技术的不断进步,2017年对软件开发人员而言将充满挑战与机遇。本文探讨了开发人员需要适应的七个关键变化,包括人工智能、聊天机器人、容器技术、应用程序版本控制、云测试环境、大众开发者崛起以及系统管理的云迁移。 ... [详细]
author-avatar
wjyyd1129
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有