Docker安装NextCloud搭建私有网盘

一、参考

  • docker-nextcloud
  • docker-nextcloud-github
  • 客户端下载
  • android客户端github发布页
  • desktop客户端github发布页
  • docker-install-doc
  • 配置参数

二、环境

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

  • Centos7安装Docker
  • Centos8安装Docker
  • Debian10安装Docker

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

四、容器编排

4.1 准备
# 创建程序目录
mkdir -p /opt/nextcloud
# 进入目录
cd /opt/nextcloud
# 创建并编辑docker-compose.yml配置文件
vi docker-compose.yml
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
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

五、安装

浏览器访问:http://IP地址:8080
创建管理员用户并安装
Docker安装NextCloud搭建私有网盘_第1张图片

六、使用

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

Docker安装NextCloud搭建私有网盘_第2张图片

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

Windows客户端
Windows客户端-Fastgit加速
a) 安装客户端后打开
b) 输入服务器地址
Docker安装NextCloud搭建私有网盘_第3张图片
c) 网页授权访问
Docker安装NextCloud搭建私有网盘_第4张图片

d) 选择本地文件夹和远程文件夹创建同步
Docker安装NextCloud搭建私有网盘_第5张图片
e) 本地目录已经和服务器虚同步
Docker安装NextCloud搭建私有网盘_第6张图片

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

苹果客户端-AppStor-Nextcloud
安卓客户端
安卓客户端-Fastgit加速
a) 输入服务器URL
Docker安装NextCloud搭建私有网盘_第7张图片

b) 点击登录后输入用户名密码
Docker安装NextCloud搭建私有网盘_第8张图片

c) 授权设备登录
Docker安装NextCloud搭建私有网盘_第9张图片

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

Docker安装NextCloud搭建私有网盘_第10张图片

你可能感兴趣的:(docker,docker,容器,运维)