Docker快速搭建NAS服务——NextCloud

前言

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

  • FileBrowser:是一个开源的Web文件管理器,它提供了一个可视化的界面来管理您的文件系统。它支持预览、上传、下载、编辑和删除文件,还可以方便地创建文件夹、重命名文件和复制/粘贴文件。FileBrowser非常易于安装和使用,并且可以与其他应用程序进行集成。您可以通过在Web浏览器中输入FileBrowser的URL来访问它,从而远程管理您的文件系统。
  • NextCloud:是一个自由开源的文件同步和共享软件平台,它可以让你在自己的服务器上存储、管理和共享数据。它提供了一个类似于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一方面方便管理,一方面好配置更新参数。

docker-compose文件编写

本地建立文件夹

cd ~
# 创建应用文件夹
mkdir -p nextcloud_docker/app

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

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

编辑docker-compose.yml如下

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: {}

运行及访问

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,登陆后就可以自行创建文件夹或文件了。

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

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

总结

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


05-11 11:14