Docker快速搭建NAS服务——NextCloud

Docker快速搭建NAS服务------NextCloud

文章目录

前言

本文主要讲解如何使用docker在本地快速搭建NAS服务,这里主要写如下两种:

  • FileBrowser^1^:是一个开源的Web文件管理器,它提供了一个可视化的界面来管理您的文件系统。它支持预览、上传、下载、编辑和删除文件,还可以方便地创建文件夹、重命名文件和复制/粘贴文件。FileBrowser非常易于安装和使用,并且可以与其他应用程序进行集成。您可以通过在Web浏览器中输入FileBrowser的URL来访问它,从而远程管理您的文件系统。
  • NextCloud^2^:是一个自由开源的文件同步和共享软件平台,它可以让你在自己的服务器上存储、管理和共享数据。它提供了一个类似于Dropbox或Google Drive的界面,但你可以完全控制你的数据,而不必把它们交给第三方公司。Nextcloud还有许多功能,如在线文档编辑、日历、联系人和更多。它可以在Windows、Mac OS X和Linux等操作系统上运行,还有Android和iOS的移动应用程序。

前者安装部署及使用管理会更简单,适合做个人本地文件管理部署。

后者在界面上会更美观,功能也会更丰富,适合小团队或有更多功能需求的小伙伴部署。

使用本文的前置条件是------如何建立并使用docker_install the buildx component to build images with -CSDN博客

如果想要加速下载,可以参考------docker使用http服务及国内镜像加速_docker http-CSDN博客

NextCloud的搭建

官网是说直接通过docker run来搭建,博主这里使用docker compose一方面方便管理,一方面好配置更新参数。^3^^4^

docker-compose文件编写

本地建立文件夹

bash 复制代码
cd ~
# 创建应用文件夹
mkdir -p nextcloud_docker/app

# 创建数据文件夹
mkdir -p nextcloud_docker/db

# 创建docker-compose文件
touch nextcloud_docker/docker-compose.yml

编辑docker-compose.yml如下

yaml 复制代码
services:
  db:
    image: mariadb:10.5
    restart: always
    container_name: nextcloud_db
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    networks:
      - nextcloud_netbridge
    volumes:
      - /home/dev/nextcloud_docker/db:/var/lib/mysql:rw
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_PASSWORD=admin
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=admin

  app:
    image: nextcloud
    restart: always
    container_name: nextcloud_core
    ports:
      - 8090:80
    networks:
      - nextcloud_netbridge
    links:
      - db
    volumes:
      - /home/dev/nextcloud_docker/app:/var/www/html:rw
    environment:
      - MYSQL_PASSWORD=admin
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=admin
      - MYSQL_HOST=db

networks:
  nextcloud_netbridge:
    driver: bridge
version: '2.3'
volumes: {}

运行及访问

bash 复制代码
cd ~/nextcloud_docker
docker-compose up -d
docker logs -f nextcloud_core 

# 输出如下
Initializing nextcloud 29.0.0.19 ...
New nextcloud instance
Initializing finished
=> Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/before-starting
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.20.0.3. Set the 'ServerName' directive globally to suppress this message
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.20.0.3. Set the 'ServerName' directive globally to suppress this message
[Fri May 10 10:45:42.664233 2024] [mpm_prefork:notice] [pid 1] AH00163: Apache/2.4.59 (Debian) PHP/8.2.18 configured -- resuming normal operations
[Fri May 10 10:45:42.664255 2024] [core:notice] [pid 1] AH00094: Command line: 'apache2 -D FOREGROUND'

初始账号密码均为admin,登陆后就可以自行创建文件夹或文件了。


总结

本文主要讲了两种NAS的区别及其中NextCloud的搭建方式,该网盘支持线上直播,文件在线打开等大量在线共享平台的功能,同时支持很多插件可自行下载,相较于File Browser提供了大量的额外功能,适合小型团队使用。


  1. Welcome | File Browser ↩︎

  2. Nextcloud - Open source content collaboration platform ↩︎

  3. 如何在Linux系统使用Docker部署Nextcloud网盘并实现随地公网远程访问_linux 部署 nextcloud-CSDN博客 ↩︎

  4. Docker部署nextcloud及其使用方法_docker nextcloud-CSDN博客 ↩︎

相关推荐
Shepherd06191 小时前
【Jenkins实战】Windows安装服务启动失败
运维·jenkins
Biomamba生信基地2 小时前
Linux也有百度云喔~
linux·运维·服务器·百度云
new_abc2 小时前
Ubuntu 22.04 ftp搭建
linux·运维·ubuntu
Algorithm15762 小时前
mac上使用docker搭建gitlab
macos·docker·gitlab
鹿鸣天涯2 小时前
‌华为交换机在Spine-Leaf架构中的使用场景
运维·服务器·网络
小白也有IT梦3 小时前
域名绑定服务器小白教程
运维·nginx
有梦想的咕噜3 小时前
Secure Shell(SSH) 是一种网络协议
运维·网络协议·ssh
dntktop3 小时前
免费,WPS Office教育考试专用版
运维
苹果醋33 小时前
C语言 strlen 函数 - C语言零基础入门教程
java·运维·spring boot·mysql·nginx
loong_XL4 小时前
automa 浏览器自动化工具插件
运维·自动化