【Docker项目实战】使用Docker部署dufs文件服务器

简介: 【Docker项目实战】使用Docker部署dufs文件服务器

一、dufs介绍

1.1 dufs简介

Dufs是一款功能丰富的文件服务器,支持多种文件管理和访问方式,适用于各种应用场景。

1.2 dufs特点

  • 静态文件服务: Dufs 能够直接提供静态文件的服务,用户可以直接访问这些文件。
  • 下载文件夹为压缩包: 用户可以将整个文件夹打包成 ZIP 格式进行下载。
  • 上传文件和文件夹(拖放): 支持通过拖放操作上传文件和文件夹。
  • 创建/编辑/搜索文件: 用户可以在服务器上创建、编辑和搜索文件。
  • 断点续传/部分上传/下载: 支持文件的断点续传功能,允许用户继续未完成的上传或下载任务。
  • 访问控制: 提供权限管理功能,可以根据用户角色控制对文件和文件夹的访问。
  • 支持 HTTPS: 使用 HTTPS 协议确保数据传输的安全性。
  • 支持 WebDAV: 兼容 WebDAV 协议,用户可以通过支持 WebDAV 的客户端工具进行文件管理。
  • 易于使用 cURL: 对于命令行用户,Dufs 提供了与 cURL 工具良好的兼容性,方便进行脚本化操作。

1.3 使用场景

  1. 个人云存储: 个人用户可以使用 Dufs 作为私有云存储解决方案,安全地存储和分享文件。
  2. 团队协作平台: 团队成员可以通过 Dufs 共享项目文档,轻松实现文件的协同编辑和版本控制。
  3. 网站静态资源托管: 开发者可以利用 Dufs 部署网站的静态资源,提高网站加载速度和响应能力。
  4. 远程备份系统: 企业可以使用 Dufs 实现数据的远程备份,确保重要信息的安全性和可恢复性。
  5. 教育资料共享: 教育机构可以借助 Dufs 分发课程材料,方便学生随时随地访问学习资源。

二、本地环境介绍

2.1 本地环境规划

本次实践为个人测试环境,操作系统版本为centos7.6。

hostname IP地址 操作系统版本 Docker版本
ubuntu-001 192.168.3.251 Ubuntu 22.04.1 LTS 24.0.7

2.2 本次实践介绍

1.本次实践部署环境为个人测试环境,生产环境请谨慎;
2.使用Docker部署dufs文件服务器。

三、本地环境检查

3.1 检查Docker服务状态

检查Docker服务是否正常运行,确保Docker正常运行。

root@ubuntu-001:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-08-02 03:27:13 UTC; 4min 57s ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 496286 (dockerd)
      Tasks: 114
     Memory: 46.2M
        CPU: 5.926s
     CGroup: /system.slice/docker.service
             ├─496286 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

3.2 检查Docker版本

检查Docker版本

[root@jeven ~]# docker -v
Docker version 20.10.17, build 100c701

3.3 检查docker compose 版本

检查Docker compose版本,确保2.0以上版本。

[root@jeven ~]# docker compose version
Docker Compose version v2.6.0

四、下载dufs镜像

拉取dufs镜像,版本为v0.41.0

root@ubuntu-001:~# docker pull sigoden/dufs:v0.41.0
v0.41.0: Pulling from sigoden/dufs
614429c6e384: Pull complete
Digest: sha256:d7b763283808bdcd44ab02cb83da149098a03d46d2ce3e7b720d401bb2c8f618
Status: Downloaded newer image for sigoden/dufs:v0.41.0
docker.io/sigoden/dufs:v0.41.0

五、部署dufs应用

5.1创建部署目录

  • 创建部署目录
mkdir -p /data/dufs/data && cd /data/dufs/
  • 设置目录权限
chmod -R 777 /data/dufs/

5.2 编辑部署文件

  • 可以直接使用docker-cli方式部署,示例如下。本次实践使用docker compose方式部署。
docker run -d  -it \
   --restart alays \
   --name dufs \
   -p 6990:5000 \
   -v /data/dufs/data/data:/data \
  sigoden/dufs:v0.41.0  \
   /data -A
  • 编辑docker-compose.yaml部署文件
vim docker-compose.yaml
version: '3'
services:
  dufs:
    image: sigoden/dufs:v0.41.0
    ports:
      - '6990:5000'
    volumes:
      - /data/dufs/data/data:/data
    command: /data -A
    restart: always

5.3 创建dufs容器

  • 使用docker-compose.yaml文件创建dufs容器
root@ubuntu-001:/data/dufs# docker compose up -d
[+] Running 2/2
 ✔ Network dufs_default   Created                                                                                                                        0.1s
 ✔ Container dufs-dufs-1  Started                                                                                                                        0.7s

在这里插入图片描述

5.4 检查容器状态

检查dufs容器状态,确保dufs容器正常启动。

root@ubuntu-001:/data/dufs#  docker compose ps
NAME                IMAGE                  COMMAND                SERVICE             CREATED             STATUS              PORTS
dufs-dufs-1         sigoden/dufs:v0.41.0   "/bin/dufs /data -A"   dufs                3 minutes ago       Up 3 minutes        0.0.0.0:6990->5000/tcp, :::6990->5000/tcp

5.5 检查容器日志

检查dufs容器,确保服务运行。

docker compose logs

在这里插入图片描述

六、访问dufs首页

6.1 进入dufs初始页

访问地址:http://192.168.3.251:6990,将IP替换为自己服务器IP地址,进入到dufs初始页。如果无法访问,则检查服务器防火墙是否设置,云服务器的安全组端口是否放行等。

在这里插入图片描述

6.2 上传文件

点击左上角的上传图标,将本地需要上传的文件上传即可。
在这里插入图片描述

上传后的效果如下所示:

在这里插入图片描述

6.3 浏览上传文件

  • 浏览PDF文件

在这里插入图片描述

  • 浏览图片文件

在这里插入图片描述

  • 播放音乐文件

在这里插入图片描述

  • 播放视频文件

在这里插入图片描述

七、总结

Dufs 提供了一个直观易用的界面,使得文件的上传、下载和管理变得简单快捷。其强大的功能如断点续传、访问控制以及 WebDAV 支持等,极大地提升了用户的使用体验和安全性。无论是在个人使用还是企业环境中,Dufs 都能提供稳定可靠的文件服务,Dufs 是一个功能全面且易于使用的文件服务器解决方案。

相关文章
|
3月前
|
应用服务中间件 网络安全 nginx
手把手教你使用 Docker 部署 Nginx 教程
本文详解Nginx核心功能与Docker部署优势,涵盖镜像拉取、容器化部署(快速、挂载、Compose)、HTTPS配置及常见问题处理,助力高效搭建稳定Web服务。
1595 4
|
3月前
|
应用服务中间件 Linux nginx
在虚拟机Docker环境下部署Nginx的步骤。
以上就是在Docker环境下部署Nginx的步骤。需要注意,Docker和Nginix都有很多高级用法和细节需要掌握,以上只是一个基础入门级别的教程。如果你想要更深入地学习和使用它们,请参考官方文档或者其他专业书籍。
194 5
|
3月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
215 17
|
3月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
965 5
|
4月前
|
存储 Docker Python
docker 部署 sftp
本文介绍SFTP服务的部署与配置,包括users.conf用户配置规则、Docker容器运行命令及上传目录权限说明,重点解析atmoz/sftp镜像的chroot机制与子目录映射,确保用户登录后正确访问/upload目录,并提供Python脚本实现文件上传示例。
439 12
docker 部署 sftp
|
4月前
|
运维 Linux 数据库
基于 Docker 部署 n8n 指南,新手一看就会
本教程详解如何通过 Docker 快速部署开源自动化工具 n8n,适合新手快速上手。内容涵盖官方部署步骤、常见难点及第三方一键部署方案,助你高效搭建自动化工作流平台。
1796 6
|
3月前
|
存储 NoSQL Redis
手把手教你用 Docker 部署 Redis
Redis是高性能内存数据库,支持多种数据结构,适用于缓存、消息队列等场景。本文介绍如何通过Docker快速拉取轩辕镜像并部署Redis,涵盖快速启动、持久化存储及docker-compose配置,助力开发者高效搭建稳定服务。
1192 7
|
3月前
|
存储 搜索推荐 数据库
🚀 RAGFlow Docker 部署全流程教程
RAGFlow是开源的下一代RAG系统,融合向量数据库与大模型,支持全文检索、插件化引擎切换,适用于企业知识库、智能客服等场景。支持Docker一键部署,提供轻量与完整版本,助力高效搭建私有化AI问答平台。
2793 8