Liunx下使用docker搭建ftp服务

2023-11-11

1.检索最新镜像

docker search vsftpd

2.拉取FTP镜像

docker pull fauria/vsftpd

3.查看本机ip

ifconfig

4.运行并创建container

方法1:运行时创建用户名和密码

docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e FTP_USER=admin -e FTP_PASS=adminpwd -e PASV_ADDRESS=10.188.1.200 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd


备注:
FTP_USER=admin,其中admin用户名
FTP_PASS=adminpwd,其中adminpwd是密码
PASV_ADDRESS=10.188.1.200,其中10.188.1.200是我部署机器的ip

方法2.运行时不创建用户名、密码

docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e PASV_ADDRESS=10.188.1.200 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd


备注:PASV_ADDRESS=10.188.1.200,其中10.188.1.200是我部署的机器,要替换掉,狗子

 如果选择运行时不创建密码,需要进入到配置中修改密码,

路径:vi /etc/vsftpd/virtual_users.txt。后面具体操作会说到

5.进入vsftpd镜像对应的container中进行配置

1.进入容器
docker exec -i -t vsftpd bash

2.修改用户名、密码
vi /etc/vsftpd/virtual_users.txt

备注:进入该文件下就两行,第一行展示用户名,第二行展示密码

3.添加了user用户文件夹,一般都需要创建
mkdir -p /home/vsftpd/user


4.把登录的验证信息写入数据库(hash处理)
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

5.退出
exit

6.重启vsftpd

docker restart vsftpd

7.验证FTP

ftp://部署机器ip

说明成功了

8.上传文件,我用的是mac,用的是CrossFTP

 

9.上传完成访问。

==mac访问,直接浏览器写地址就行

 ==windows访问,浏览器只有是ie支持

下载文件,选中要下载的文件,右键,点击复制到文件夹就可以。

当然了也可以用客户端查看 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Liunx下使用docker搭建ftp服务 的相关文章

  • Docker忽略limits.conf(试图解决“打开文件太多”错误)

    我正在运行一个 Web 服务器 该服务器正在处理数千个并发 Web 套接字连接 为了实现这一点 在 Debian linux 我的基本镜像是 google debian wheezy 在 GCE 上运行 上 打开文件的默认数量设置为 100
  • bash while 循环的布尔表达式中的 -lt 意味着什么?

    我猜测它代表小于基于输出 但是我在哪里可以找到有关此语法的文档 bin bash COUNTER 0 while COUNTER lt 10 do echo The counter is COUNTER let COUNTER COUNTE
  • Ruby:在 Ubuntu 上安装 rmagick

    我正在尝试在 Ubuntu 10 04 上安装 RMagick 看起来here https stackoverflow com questions 1482823 is there an easy way to install rmagic
  • Linux shell 从用户输入中获取设备 ID

    我正在为一个程序编写安装脚本 该程序需要在其配置中使用 lsusb 的设备 ID 因此我正在考虑执行以下操作 usblist lsusb put the list into a array for each line use the arr
  • 如何在 Linux 和 C 中使用文件作为互斥体?

    我有不同的进程同时访问 Linux 中的命名管道 并且我想让此访问互斥 我知道可以使用放置在共享内存区域中的互斥体来实现这一点 但作为一种家庭作业 我有一些限制 于是 我想到的是对文件使用锁定原语来实现互斥 我做了一些尝试 但无法使其发挥作
  • Crontab 每 5 分钟一次 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我如何告诉 crontab 每 5 分钟运行一次 但从每小时的第二分钟开始 换句话说 我想在以下时间执行我的脚本minute 5 2 例如 我的脚本应
  • 从 Docker 容器发送多播数据包(到多播组)

    我有一个通过 UDP 多播发送消息的应用程序 我一直试图将其放在 docker 下 我在尝试从 Docker 容器发送多播数据包时遇到了很大的阻力 我已经能够通过 net host运行 docker 容器的选项 然而 我想坚持使用桥接配置
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • 自动备份远程托管服务器的最佳实践

    我正在尝试设置一个用于团队笔记的服务器 我想知道自动备份其数据 又称我的笔记 的最佳方法是什么 目前我计划在 docker 镜像中运行服务器 docker 镜像将由托管服务 例如 Google 托管 我找到了一个适合我的需求的免费托管服务
  • 来自守护程序的错误响应:加入会话密钥环:创建会话密钥:超出磁盘配额

    我尝试在我的服务器上安装 docker 使用本教程 https docs docker com install linux docker ce ubuntu 我想远程运行 docker 镜像并使用 portainer Web 界面来管理一切
  • Nextjs 无法在生产环境中的“.next”目录中找到有效的构建

    我正在 docker 中运行我的应用程序 但我的生产构建和启动脚本仅在 docker 环境中失败 虽然node env开发在docker环境下运行良好 这是我的脚本 无法进行生产构建并启动服务器 我正在使用nodemon和babel bui
  • awk 在循环中使用时不打印任何内容[重复]

    这个问题在这里已经有答案了 我有一堆使用 file 1 a 1 txt 格式的文件 如下所示 A 1 B 2 C 3 D 4 并使用以下命令添加包含每个文件名称的新列 awk print FILENAME NF t 0 file 1 a 1
  • 在 docker 中重定向命令输出

    我想为我的服务器做一些简单的日志记录 它是一个在 Docker 容器中运行的小型 Flask 应用程序 这是 Dockerfile Dockerfile FROM dreen flask MAINTAINER dreen WORKDIR s
  • 我可以更改 Windows Docker 容器中的日期和时间吗?

    我正在尝试测试一个在特定时间段内导出文件的软件 我想到使用 docker 容器来提供所需的时间而不是使用系统时间 问题是我缺乏更改容器时间的权限 并出现以下错误消息 PS C usr src app gt Set Date Date Get
  • Docker Compose 无法连接到数据库

    我使用 Nestjs 作为后端 并使用 typeorm 作为 ORM 我尝试在 docker compose 文件中定义我的数据库和应用程序 如果我将数据库作为容器运行 并从本地计算机运行应用程序 那么它运行良好 我的程序连接并创建表等 但
  • Linux 中 m 标志和 o 标志将存储在哪里

    我想知道最近收到的路由器通告的 m 标志和 o 标志的值 从内核源代码中我知道存储了 m 标志和 o 标志 Remember the managed otherconf flags from most recently received R
  • 有没有一种快速方法可以从 Jar/war 中删除文件,而无需提取 jar 并重新创建它?

    所以我需要从 jar war 文件中删除一个文件 我希望有类似 jar d myjar jar file I donot need txt 的内容 但现在我能看到从 Linux 命令行执行此操作的唯一方法 不使用 WinRAR Winzip
  • 相当于Linux中的导入库

    在 Windows C 中 当您想要链接 DLL 时 您必须提供导入库 但是在 GNU 构建系统中 当您想要链接 so 文件 相当于 dll 时 您就不需要链接 为什么是这样 是否有等效的 Windows 导入库 注意 我不会谈论在 Win
  • 如何从 Docker Hub 删除存储库

    如何从 Docker Hub 完全删除存储库 Docker 正在快速发展 他们的网站也是如此 这是从 docker hub Web 界面删除存储库的最新方法 首先 确保您已登录 hub docker com Simple 单击顶部的存储库链
  • 如何使用 JSch 将多行命令输出存储到变量中

    所以 我有一段很好的代码 我很难理解 它允许我向我的服务器发送命令 并获得一行响应 该代码有效 但我想从服务器返回多行 主要类是 JSch jSch new JSch MyUserInfo ui new MyUserInfo String

随机推荐

  • 为什么区块链是互联网的100倍?

    区块链的本质究竟是什么 如果区块链只是一个简单的分布式账本 凭什么在全世界的所有国家 商业领域掀起一浪又一浪的轩然大波 而如此多的精英人士不顾一切的争相入场 假设比特币是第一张多米诺骨牌 区块链究竟翻倒了哪些牌 洗牌的底层逻辑又是什么 未来
  • JDBC连接断开,autoReconnect=true失效解决方案:做一个合格的回头客!

    以mysql数据库为例 为避免无效连接长时间占用资源 一般超过一定时间不操作就会断开连接 利用 show global variables like wait timeout 可查看等待时间 网络普遍的说法是使用autoReconnect
  • vscode远程连接服务器+上下传文件

    VSCode远程服务器记录 目录 VSCode远程服务器记录 前言 一 连接远程服务器 二 上传文件到服务器 三 从服务器上下载文件到本地 四 删除没用的远程服务器 前言 确保本地vscode中装了remote ssh和sftp的插件 这里
  • 区块链基础学习1

    1 区块链 Blockchain 区块链技术是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案 2 点对点 P2P 通过允许单个结点与其他结点直接交互 无需通过中介机构 从而实现整个系统像有组织的集体一样运作的系统 3 去中心化
  • POC模拟攻击利器 —— Nuclei入门(一)

    引入Nuclei的缘由 使用dependency check 发现的问题 需要研发人员修复 研发人员要求复现问题 这个的确有难度不仅仅要了解cve 相关bug的具体含义 还要模拟攻击 对于测试人员显然要求过高 凭借自己多年的各种测试工具调研
  • uniapp滚动加载 下拉刷新

    前言 在日常开发中 滚动加载和下拉刷新是非常常见的功能 页面数据过多时 需要滚动加载优化性能 本篇技术分享博客将介绍如何在uniapp中实现滚动加载和下拉刷新 预览 滚动加载 下拉刷新 一 滚动加载 滚动加载指的是当用户滑动页面到底部时 自
  • MYSQL--基础--09--备份还原常用命令

    MYSQL 基础 09 备份还原常用命令 1 数据库信息 数据库地址 127 0 0 1 数据库用户名 root 数据库密码 1234 数据库名称 test1 数据库名称 test2 数据库名称 test3 mysqldump目录 usr
  • syntax error near unexpected token in 解决方案

    目录 一 引言 二 问题解决 三 总结 一 引言 近来在使用 shell 脚本时 从服务器上把脚本文件拿下来 本地修改完之后上传至服务器 运行时出现了如下的错误信息 最终排查之后 发现是系统兼容性问题 现就解决方案做出说明 二 问题解决 首
  • Github建个人静态网页

    如何将个人静态网页搭建在Github上 前言 最近有不少人问我如何将个人网站搭建在Github上 由于不能一一回复 所以我就将过程写成一篇小教程 发在csdn上面 仅供参考 17岁以下的小朋友不需要在家长的陪同下阅读本文 使用工具 Goog
  • 如何看懂别人的项目代码

    1 先运行别人的demo 然后再去看文档 2 运行调试 新的 1 了解项目 要知道这个项目是用来干嘛的 有什么样的功能 2 获取源代码 3 运行 4 一定要亲自运行一下 玩一玩 看看都有什么功能 都能完成什么事情 要想对项目源码了解 首先必
  • 基于python的种子搜索网站,你懂得!

    该项目是基于python的web类库django开发的一套web网站 给师弟做的毕业设计 本人的研究方向是一项关于搜索的研究项目 在该项目中 笔者开发了一个简单版的搜索网站 实现了对数据库数据的检索和更新 通过开发该项目 笔者学习和巩固了p
  • css自适应布局,缩放保持图片比例

    场景一 适合商品类展示型布局 后台的数据呈现列表数据返回 窗口宽度变化 图片比例不变 假设我们的图片宽高固定比例16 9 效果图满屏 效果图缩放时 移动端 直接看代码 里面会注释详细说明 div class parentBox div cl
  • Matter Project 入门 – Matter开发环境设置

    如果您尚未在计算机上本地运行 Ubuntu 您将需要一个替代方案来开发 Matter 设备 你需要什么 用于构建 Matter 终端设备固件的 Linux 环境 我们将为这个项目使用 Ubuntu 21 10 服务器 但任何 Ubuntu
  • 软考之运筹学计算-车床问题

    软考之运筹学计算 车床问题 一 真题示例 二 题意分析 三 解答 一 真题示例 某车间需要用一台车床和一台铣床加工A B C D四个零件 每个零件都需要先用车床加工 再用铣床加工 车床与铣床加工每个零件所需的工时 包括加工前的准备时间以及加
  • AndroidStudio新建项目报错build failed

    AndroidStudio新建项目报错build failed 报错信息 org gradle initialization ReportedException org gradle internal exceptions Location
  • VC6提示番茄助手过期

    VC6提示番茄助手过期 无法打开 在控制面板中卸载即可
  • FlinkCDC第二部分-搭建Flink单机服务,ctrl就完事~

    Flink版本 1 16 环境 Linux CentOS 7 0 jdk1 8 基础文件 flink 1 16 2 bin scala 2 12 tgz flink connector jdbc 3 0 0 1 16 jar flink s
  • string字符插入及截取操作

    1 string满足 运算符的重载 可以理解为拼接 s s 3 加在末尾 s 4 s 加在头部 2 append函数 插入整个字符串s2 s1 append s2 插入s2部分 如第四个字符到第七个字符 s1 append s3 3 6 插
  • linux使用读写锁pthread_rwlock_t

    使用读写锁 配置读写锁的属性之后 即可初始化读写锁 以下函数用于初始化或销毁读写锁 锁定或解除锁定读写锁或尝试锁定读写锁 下表列出了本节中讨论的用来处理读写锁的函数 表 4 9 处理读写锁的例程 操作 相关函数说明 初始化读写锁 pthre
  • Liunx下使用docker搭建ftp服务

    1 检索最新镜像 docker search vsftpd 2 拉取FTP镜像 docker pull fauria vsftpd 3 查看本机ip ifconfig 4 运行并创建container 方法1 运行时创建用户名和密码 doc