• Docker安装NextCloud搭建私有网盘


    一、参考

    二、环境

    参考以下三篇安装docker和docker-compose

    docker版本:20.10.*
    docker-compose版本:2.2.2
    mariadb-docker版本:10.5.17
    redis-docker版本:6.2.7
    nextcloud-docker版本:24.0.4

    三、拉取镜像

    # 拉取数据库镜像
    docker pull mariadb:10.5.17
    # 拉取redis镜像
    docker pull redis:6.2.7-bullseye
    # 拉取nextcloud-apache镜像
    docker pull nextcloud:24.0.4-apache
    # 查看镜像
    docker images
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    四、容器编排

    4.1 准备
    # 创建程序目录
    mkdir -p /opt/nextcloud
    # 进入目录
    cd /opt/nextcloud
    # 创建并编辑docker-compose.yml配置文件
    vi docker-compose.yml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    4.2 docker-compose.yml配置文件内容

    主要数据都存储在docker卷内,默认在docker工作目录下的volumes目录内

    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:
          - "8080:80"
        networks:
          nextcloud-net:
        links:
          - nextcloud-mysql
          - nextcloud-redis
          
    networks:
      nextcloud-net:
        driver: bridge
        ipam:
          config:
            # 配置容器网段
            - subnet: 172.22.15.0/24
              gateway: 172.22.15.1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    4.3 启动容器
    # 进入目录
    cd /opt/nextcloud
    # 创建并后台启动容器
    docker-compose up -d
    # 查看所有日志
    docker-compose logs -f
    # 查看mysql日志
    docker-compose logs nextcloud-mysql
    # 查看redis日志
    docker-compose logs nextcloud-redis
    # 查看apache日志
    docker-compose logs nextcloud-apache
    # 查看docker卷
    docker volume ls
    # 以root权限进入容器nextcloud-apache
    #docker exec -u root -ti nextcloud-apache /bin/bash
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    五、安装

    浏览器访问:http://IP地址:8080
    创建管理员用户并安装
    在这里插入图片描述

    六、使用

    6.1 浏览器访问http://IP地址:8080登录自己的用户进行上传、下载、分享

    在这里插入图片描述

    6.2 安装Windows客户端进行文件同步

    Windows客户端
    Windows客户端-Fastgit加速
    a) 安装客户端后打开
    b) 输入服务器地址
    请添加图片描述
    c) 网页授权访问
    请添加图片描述

    d) 选择本地文件夹和远程文件夹创建同步
    请添加图片描述
    e) 本地目录已经和服务器虚同步
    请添加图片描述

    6.3 使用手机客户端同步、上传、下载

    苹果客户端-AppStor-Nextcloud
    安卓客户端
    安卓客户端-Fastgit加速
    a) 输入服务器URL
    请添加图片描述

    b) 点击登录后输入用户名密码
    请添加图片描述

    c) 授权设备登录
    请添加图片描述

    d) 登录完成,可以进行上传、下载、分享、同步等操作了

    请添加图片描述

  • 相关阅读:
    MySQL——索引优化,索引机制,索引类型及其使用
    基于android的物流管理系统APP(ssm+uinapp+Mysql)
    华为---RSTP(二)---RSTP基本配置示例
    LoveCount统计“爱”——Scala-Spark实战应用案例
    spring boot + vue 前后端下载文件文件
    图论10-哈密尔顿回路和哈密尔顿路径+状态压缩+记忆化搜索
    空间曲线方程和空间曲面方程
    MYSQL 根据唯一索引键更新死锁问题
    联机算法和脱机算法[Alg_001]
    Spring Boot 2.7.5 整合 Swagger 3 实现可交互的后端接口文档
  • 原文地址:https://blog.csdn.net/lyace2010/article/details/126757568