docker应用:搭建私有云盘

时间:2022-10-26 00:55:17

简介:NextCloud是一个开源的云存储解决方案,可以在自己的服务器上搭建个人云存储系统。它提供了与市面上主流云存储服务(如Dropbox、Google Drive)相似的功能,包括文件存储、共享、同步、协作等。NextCloud的主要优势在于它是开源的,使用者可以*地在自己的服务器上安装和使用。此外,NextCloud还提供了丰富的应用市场,可以为用户提供更多的功能和扩展。

主要功能:

1、文件存储:NextCloud可以用于存储各种类型的文件,包括文本文档、表格、演示文稿、图片、视频等。用户可以使用Web界面或客户端软件(如NextCloud Desktop Client)来上传和管理文件。

2、文件共享:NextCloud提供了多种方式来共享文件,包括公共链接、用户/用户组共享、外部共享(如与Google Drive共享)等。

3、文件同步:NextCloud提供了多种方式来同步文件,包括使用Web界面、客户端软件(如NextCloud Desktop Client)或者使用同步客户端(如rsync)等。

4、协作功能:NextCloud提供了丰富的协作功能,包括实时文档编辑、聊天、日程等。

官网:

https://nextcloud.com/

安装步骤:

# 分别拉取 nextcloud-apache镜像、 redis镜像、数据库镜像
docker pull nextcloud:24.0.4-apache
docker pull redis:6.2.7-bullseye
docker pull mariadb:10.5.17

# 创建程序存储数据目录
mkdir -p /data/nextcloud

# 进入目录
cd /data/nextcloud

创建并编辑docker-compose.yml配置文件:

如端口被占用,请更换端口。如8085, 3307等,容器网段同理。

version: '3'

volumes:
  # apache数据卷
  nextcloud-data:
  # 数据库数据卷
  nextcloud-db:
  # redis数据卷
  nextcloud-redis:
  
services:
  nextcloud-mysql:
    image: mariadb:10.5.17
    container_name: nextcloud-mysql
    volumes:
      - nextcloud-db:/var/lib/mysql
      - /etc/localtime:/etc/localtime
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --character-set-server=utf8 --collation-server=utf8_bin
    environment:
      # root密码
      - MYSQL_ROOT_PASSWORD=root@nextcloud
      # 新建数据库
      - MYSQL_DATABASE=nextcloud
      # 新建用户
      - MYSQL_USER=nextcloud
      # 新用户密码
      - MYSQL_PASSWORD=admin@nextcloud
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
    ports:
      - "3306:3306"
    networks:
      nextcloud-net:
  nextcloud-redis:
    image: redis:6.2.7-bullseye
    container_name: nextcloud-redis
    volumes:
      - ./redis.conf:/usr/local/etc/redis/redis.conf
      - /etc/localtime:/etc/localtime
      - nextcloud-redis:/data
    restart: always
    networks:
      nextcloud-net:
  nextcloud-apache:
    image: nextcloud:24.0.4-apache
    container_name: nextcloud-apache
    volumes:
      - /etc/localtime:/etc/localtime
      - nextcloud-data:/var/www/html
    restart: always
    environment:
      # 数据库地址
      - MYSQL_HOST=nextcloud-mysql
      # 数据库名
      - MYSQL_DATABASE=nextcloud
      # 数据库用户
      - MYSQL_USER=nextcloud
      # 数据库密码
      - MYSQL_PASSWORD=admin@nextcloud
      # Redis地址
      - REDIS_HOST=nextcloud-redis
      # Redis端口
      - REDIS_HOST_PORT=6379
      # Redis密码
      #- REDIS_HOST_PASSWORD=
      # PHP脚本最大内存
      - PHP_MEMORY_LIMIT=512M
      # PHP文件上传限制
      - PHP_UPLOAD_LIMIT=2048M
    ports:
      - "8085:80"
    networks:
      nextcloud-net:
    links:
      - nextcloud-mysql
      - nextcloud-redis
      
networks:
  nextcloud-net:
    driver: bridge
    ipam:
      config:
        # 配置容器网段
        - subnet: 172.26.15.0/24
          gateway: 172.26.15.1

进入目录,创建和启动容器:

cd /data/nextcloud
docker-compose up -d

运行结果:docker ps -a

docker应用:搭建私有云盘

访问并注册登录:http://{ip}:8085/

docker应用:搭建私有云盘

文件和图片列表:官方提供了注册后生成了部分示例文件。

docker应用:搭建私有云盘

docker应用:搭建私有云盘

windows客户端安装:类似百度云PC客户端

https://github.com/nextcloud/desktop/releases/download/v3.6.0/Nextcloud-3.6.0-x64.msi