栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

使用docker-compose安装Nextcloud

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用docker-compose安装Nextcloud

Nextcloud简介

Nextcloud是一个企业存储和相互协作网站网站。代码开源。
官网:https://nextcloud.com/
官方项目:https://github.com/nextcloud/docker

安装前提条件

如果你对容器化不太熟,可以安装宝塔面板。然后通过宝塔面板安装LNMP环境来部署Nextcloud。但是这个方法部署出来的环境不太稳定,不能达到高可用HA。而且LNMP安装非常耗时间。
如果想用docker启动一个高可用的Nextcloud网站,则需要安装docker和docker-compose。

Ubuntu安装docker
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg lsb-release
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# 验证docker安装成功
sudo docker run hello-world
安装docker-compose
wget https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64 -O /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

# 验证docker-compose命令
docker-compose -v
创建用于保存配置和文件的目录
mkdir -p /www/nextcloud/nginx # 存放nginx配置
mkdir -p /www/nextcloud/db # 存放数据库文件
mkdir -p /www/nextcloud/app # 存放nextcloud程序包




多种架构 单app单数据库架构(亲测可用)

这种方式比LNMP更不稳定,不靠谱。
vim /www/nextcloud/compose.yml ,并写入如下内容

version: '2'

#volumes:
  #nextcloud:
  #db:

services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - /www/nextcloud/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud
    restart: always
    ports:
      - 11000:80
    links:
      - db
    volumes:
      - /www/nextcloud/app:/var/www/html
    environment:
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

最后启动集群

docker-compose -f /www/nextcloud/compose.yml up -d

访问 http://ip:11000即可登录nextcloud(端口号可以修改的)

负载均衡+app+数据库(正在研究,不要用)

vim /www/nextcloud/compose.yml ,并写入如下内容

version: '2'

#volumes:
  #nextcloud: /www/nextcloud/app
  #database: /www/nextcloud/db
  #nginx-proxy: /www/nextcloud/nginx

services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - /www/nextcloud/db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

  app:
    image: nextcloud:fpm
    restart: always
    links:
      - db
    volumes:
      - /www/nextcloud/app:/var/www/html
    environment:
      - MYSQL_PASSWORD=nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db

  web:
    image: nginx
    restart: always
    ports:
      - 11000:80
    links:
      - app
    volumes:
      - /www/nextcloud/nginx/:/etc/nginx/
    #volumes_from:
      #- nginx-proxy

最后启动集群

docker-compose -f /www/nextcloud/compose.yml up -d

访问 http://ip:8080即可登录nextcloud

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/882544.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号