Docker篇之利用docker搭建ftp服务器可实现多用户上传

一、前言
场景:公司需要搭建FTP服务器,供内网之前可以互相传递数据,安全稳定,需要满足开通多个账号,每个用户上传的文件有自己对应的文件目录。
这里建议:用户目录Disk尽量大一点,避免因为空间不足,导致上传失败

废话不说,直接上干货~
二、搭建步骤
利用docker部署,这里需要有docker环境,这里小编采用docker-compose进行部署,所以需要有docker-compose服务。
docker环境的搭建详见这里:
Centos7系统:
https://blog.csdn.net/xu710263124/article/details/115632708
docker-compose部署

// 安装docker-compose
wget https://github.com/docker/compose/releases/download/1.25.0-rc4/docker-compose-Linux-x86_64
cp docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version

1、搭建ftp服务
step1:

# 1、拉取vsftpd镜像
docker pull fauria/vsftpd

step2:
注意:这里选择一个Disk较大的盘,进行ftp信息存储,
编辑vsftpd-compose.yml文件

cd /data1/vsftp
vim vsftpd-compose.yml
version: "3"
services:vsftpd:image: fauria/vsftpdcontainer_name: vsftpdrestart: alwaysports:- "20:20"- "21:21"- "20000:20000"volumes:- "/data1/vsftp/ftp_user:/home/vsftpd"- "/data1/vsftp/log/vsftpd:/var/log/vsftpd/"environment:- FTP_USER=admin- FTP_PASS=admin- PASV_MIN_PORT=20000- PASV_MAX_PORT=20000- PASV_ADDRESS=xxx.xxx.xxx.xxx- LOG_STDOUT=1# 注:这里指定的FTP_USER为admin,以及密码,还有对应的PASV_ADDRESS需改为自己的宿主机ip。 # PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围必须在服务器的防火墙中开启20、21、22和21100/21110端口

step3:这里需要提前创建好对应的ftp_user目录

// 不同用户上传的文件可在/data1/vsftp/ftp_user/下查询mkdir -p /data1/vsftp/ftp_usermkdir -p /data1/vsftp/log/vsftpd

step4:启动docker-compose文件

docker-compose -f vsftpd-compose.yml up -d

step5:启动成功后,通过文件夹形式访问
ftp://admin@xxx.xxx.xxx.xxx/
user: admin
passwd:admin
在这里插入图片描述
或者添加一个网络位置都可。
在这里插入图片描述
输入用户名密码即可 连接远程FTP服务器。

三、添加FTP普通用户
如果要创建多用户,可执行如下操作:
3. 创建多用户ftp
3.1 进入容器

docker exec -it vsftpd /bin/bash

3.2 编辑配置文件
提示:
注意使用vi编辑指令,其中奇数行为用户名,临近的下一个偶数行为密码,创建container时参数未加入用户名和密码,系统会默认创建admin和随机密码.
添加新用户的文件夹,以用户名命名

[root@huang /]# cat /etc/vsftpd/virtual_users.txt
admin
admin
ftp1
ftp1
ftp2
ftp2

3.3 创建用户目录

mkdir -p /home/vsftpd/ftp1
mkdir -p /home/vsftpd/ftp2

3.4 生产二进制文件

#生成二进制文件
db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

3.5 重启docker

docker restart vsftpd

退出容器
就可以在宿主机的/data1/vsftp/ftp_user下看到创建的对应用户了
在这里插入图片描述
ok~这样就可以利用不同用户进行连接了
在这里插入图片描述
在这里插入图片描述

End~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/235855.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多路转接<select>和<poll>使用手册

select int select(int nfds, fd_set *readfds, fd_set *writefds,fd_set *exceptfds, struct timeval *timeout); 参数说明 返回值 返回值>0 表示成功返回可访问的文件描述符个数&#xff0c;返回值0 表示标识等待时间到期返回值<0 表示出现错误…

常见智力题汇总

常见智力题汇总 扔瓶子问题扑克牌问题出队问题烧绳子问题赛马问题求出前三名求出前五名 接水问题种树问题硬币问题宝石问题核酸检测问题 笔者最近面试遇到了好几道智力题&#xff0c;这些题目特点就是如果没有见过&#xff0c;很难第一时间思考得到答案&#xff0c;因此笔者面试…

从setText处理来学习绘制流程

Android中TextView调用setText是会进行text文字的更新&#xff0c;是一个比较简单的画面变化&#xff0c;这可以作为一个出发点来查看绘制处理流程。这里来问问chatGPT&#xff0c;来查看大致流程 请讲讲Android中textView的setText处理流程 ChatGPT Poe 当你调用 textView.s…

docker 安装oracle 11,配置客户端远程连接

最近由于工作需要&#xff0c;oracle11数据库的导入导出&#xff0c;所以自己在电脑上模拟个数据库环境&#xff0c; 1.docker的安装&#xff0c;可以参考之前文档&#xff0c;也可以直接yum install 包名字安装 2.下载镜像 docker pull registry.cn-hangzhou.aliyuncs…

cmake和vscode 下的cmake的使用详解(一)。

本文的内容 参考如下内容。 1.【基于VSCode和CMake实现C/C开发 | Linux篇】https://www.bilibili.com/video/BV1fy4y1b7TC?vd_source0ddb24a02523448baa69b0b871ab50f7 2.Notion – The all-in-one workspace for your notes, tasks, wikis, and databases. 3.关于如何利用…

微信小程序自定义tabber凸起

一、实现效果 二、下载地址 下载地址 源码有错自己修改一下就行

麒麟操作系统进入单用户模式

Kylin V4 桌面版&#xff1a; 启动系统后&#xff0c;在启动菜单界面选择 Kylin 4.0.2 高级选项后回车。 在高级模式选项下选择第二行 recovery mode 模式后&#xff0c;按 e 编辑。 按 e 后如下图&#xff0c;找到 linux 开头的一行&#xff0c;修改 ro 为 rw 后&#xff0c…

万宾科技监测设备,可燃气体监测仪特点一览

万宾科技的监测设备种类繁多&#xff0c;包括可燃气体监测仪、管网水位监测仪、内涝积水监测仪等。其中可燃气体监测仪是万宾科技的核心产品之一&#xff0c;用于监测环境中可燃气体的浓度&#xff0c;适用于对甲烷气体浓度进行实时监测&#xff0c;应用于燃气管网、排水管网、…

基于OpenCV的手势识别系统设计与开发

摘要 随着计算机技术与信息处理技术迅速发展&#xff0c;智能化电子设备逐渐进入到日常的生产和生活中&#xff0c;与此同时&#xff0c;人们对电子设备操作过程的便捷化也提出了新的要求&#xff0c;这也促使计算机进行图像处理的技术也得到了发展。近些年兴起的模式识别技术…

使用easyExcel框架报错:服务器缺少字体

后台服务使用easyExcel框架生成表格&#xff0c;但是生成的时候报如下的错误&#xff1a; 这种报错其实就是部署服务的服务器缺少字体&#xff0c;正确的方法是安装字体。需要注意的是&#xff0c;测试环境服务器与生产环境服务器的在配置版本上可能存在差异&#xff0c;因此需…

OLED双面显示广告机的应用场景

OLED双面显示广告机是一种创新的广告设备&#xff0c;它具有双面显示屏幕&#xff0c;可以同时向两个方向展示广告或信息。这种设备被广泛应用于各种场景&#xff0c;例如&#xff1a; 商业展示&#xff1a;在大型商业场所&#xff0c;如购物中心、百货商场等&#xff0c;OLED双…

【Linux基础开发工具】yum生态vim的配置与使用

目录 前言 1. Linux 软件包管理器 yum 1.1 什么是yum 1.2 快速上手yum 1.3 yum生态 2. Linux编辑器vim 2.1 vim的模式 2.2 vim使用技巧 3. vim编辑器辅助功能配置 3.1 配置 3.2 用户sudo权限配置 总结 前言 Linux基础指令与权限之后&#xff0c;Linux系统开发工具的使用…