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

相关推荐
theo.wu35 分钟前
使用Buildpacks构建Docker镜像
运维·docker·容器
枫叶丹43 小时前
【在Linux世界中追寻伟大的One Piece】进程信号
linux·运维·服务器
刻词梨木3 小时前
ubuntu中挂载点内存不足,分配不合理后使用软链接的注意事项
linux·运维·ubuntu
灯火不休ᝰ4 小时前
[win7] win7系统的下载及在虚拟机中详细安装过程(附有下载文件)
linux·运维·服务器
HHoao8 小时前
Ubuntu启动后第一次需要很久才能启动GTK应用问题
linux·运维·ubuntu
小灰兔的小白兔8 小时前
【Ubuntu】Ubuntu常用命令
linux·运维·ubuntu
winds~8 小时前
ubuntu中软件的进程管理-结束软件运行
linux·运维·ubuntu
bush48 小时前
使用root账号ssh登录虚拟机ubuntu
运维·ubuntu·ssh
叫我龙翔9 小时前
【Linux】进程间关系与守护进程
linux·运维·服务器·计算机网络
S hh9 小时前
【Linux】进程地址空间
java·linux·运维·服务器·学习