Docker快速搭建NAS服务——NextCloud

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

文章目录

前言

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

  • FileBrowser[1](#1):是一个开源的Web文件管理器,它提供了一个可视化的界面来管理您的文件系统。它支持预览、上传、下载、编辑和删除文件,还可以方便地创建文件夹、重命名文件和复制/粘贴文件。FileBrowser非常易于安装和使用,并且可以与其他应用程序进行集成。您可以通过在Web浏览器中输入FileBrowser的URL来访问它,从而远程管理您的文件系统。
  • NextCloud[2](#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](#3)[4](#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博客 ↩︎

相关推荐
一介草民丶21 小时前
Linux | Mongodb 6 离线安装
linux·运维·mongodb
计算机小手1 天前
使用 llama.cpp 在本地高效运行大语言模型,支持 Docker 一键启动,兼容CPU与GPU
人工智能·经验分享·docker·语言模型·开源软件
mc23561 天前
Linux实用操作
linux·运维·服务器
岚天start1 天前
KubeSphere在线安装单节点K8S集群
docker·容器·kubernetes·k8s·kubesphere·kubekey
xyhshen1 天前
记录一次K8S跨命名空间访问 xxx.xxx.svc.cluster.local 类似内部服务不通的问题
云原生·容器·kubernetes
栗子~~1 天前
shell-基于k8s/docker管理容器、监控模型训练所消耗的最大CPU与最大内存脚本
docker·容器·kubernetes
海鸥811 天前
在k8s中部署seaweedfs,上传文件到seaweedfs方法
云原生·容器·kubernetes
半梦半醒*1 天前
k8s——pod详解2
linux·运维·docker·容器·kubernetes·负载均衡
AAA小肥杨1 天前
K8s从Docker到Containerd的迁移全流程实践
docker·容器·kubernetes
DARLING Zero two♡1 天前
云原生基石的试金石:基于 openEuler 部署 Docker 与 Nginx 的全景实录
nginx·docker·云原生