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博客 ↩︎

相关推荐
疯狂飙车的蜗牛4 分钟前
从零玩转CanMV-K230(4)-小核Linux驱动开发参考
linux·运维·驱动开发
恩爸编程1 小时前
探索 Nginx:Web 世界的幕后英雄
运维·nginx·nginx反向代理·nginx是什么·nginx静态资源服务器·nginx服务器·nginx解决哪些问题
鸠摩智首席音效师2 小时前
Docker 中如何限制CPU和内存的使用 ?
docker·容器
Michaelwubo2 小时前
Docker dockerfile镜像编码 centos7
运维·docker·容器
jingyu飞鸟2 小时前
centos-stream9系统安装docker
linux·docker·centos
好像是个likun3 小时前
使用docker拉取镜像很慢或者总是超时的问题
运维·docker·容器
玖疯子5 小时前
介绍 Docker 的基本概念和优势,以及在应用程序开发中的实际应用。
docker
暴富的Tdy5 小时前
【快速上手Docker 简单配置方法】
docker·容器·eureka
cominglately5 小时前
centos单机部署seata
linux·运维·centos
CircleMouse5 小时前
Centos7, 使用yum工具,出现 Could not resolve host: mirrorlist.centos.org
linux·运维·服务器·centos