docker-compose部署Nextcloud

docker搭建nextcloud 个人私有nas网盘
1.修改yum源
(1)备份原来的yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
(2)下载阿里的yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
(3)安装相关插件
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
(4)添加docker-ce源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.安装docker-ce,配置docker仓库
yum install -y docker
tee /etc/docker/daemon.json <<-‘EOF’
{
“insecure-registries” : [“0.0.0.0/0”],
“registry-mirrors”: [“https://bytkgxyr.mirror.aliyuncs.com”,“https://registry.docker-cn.com”,“http://hub-mirror.c.163.com”]
}
EOF
systemctl restart docker
systemctl enable docker
3.安装docker-compose
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-uname -s-uname -m > /usr/local/bin/docker-compose
chmod 777 /usr/local/bin/docker-compose

docker-compose --version

4.拉取相关docker镜像
docker pull redis:latest
docker pull mariadb:latest
docker pull nextcloud:latest

5.编写docker-compose 搭建
mkdir /root/nextcloud && cd /root/nextcloud

vim docker-compose.yaml

---
version: '3.2'

networks:
  default:
    name: nextcloud

services:
  app:
    image: nextcloud:latest
    restart: unless-stopped
    volumes:
      - ./app:/var/www/html
    environment:
      - MYSQL_PASSWORD=nextcloud_password # 按需修改
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
      - MYSQL_HOST=db
    ports:
      - 81:80 # 按需修改
    networks:
      - default

  cache:
    image: redis
    restart: unless-stopped
    expose:
     - "6379" # 可用此默认。因为这是暴露而不是映射
    volumes:
     - ./cache:/data
    command: redis-server --requirepass 'redis_password' # 按需修改
    networks:
      - default

  db:
    image: mariadb:latest
    restart: unless-stopped
    # 下面的command与官网略有不同。它将有助于避免MYSQL数据库的4047报错。
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW --innodb-file-per-table=1 --skip-innodb-read-only-compressed
    volumes:
      - ./db:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=nextcloud_mysql_password # 按需修改
      - MYSQL_PASSWORD=nextcloud_password  # 按需修改
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud
    networks:
      - default

docker-compose up -d

5.配置redis(先进入游览器 http://ip:81 配置完再配置redis)
cat app/config/config.php

<?php
$CONFIG = array (
  'htaccess.RewriteBase' => '/',
//  'memcache.local' => '\\OC\\Memcache\\APCu',  //注释这行
  'memcache.local' => '\\OC\\Memcache\\Redis',
  'memcache.distributed' => '\\OC\\Memcache\\Redis', // 分布式缓存使用Redis
  'memcache.locking' => '\\OC\\Memcache\\Redis', // 启用Redis缓存的文件锁
  'redis' => array(
    'host' => 'cache', // 这里和mariadb的逻辑相同,填写容器links时映射的主机名
    'port' => 6379,
    'password' => 'redis_password' // 这是之前在配置docker-compose时配置的redis密码
  ),

docker-compose down && docker-compose up -d

设置→管理→基本设置 Cron

宿主机:vim /etc/crontab
*/5 * * * * root docker exec -u 33 nextcloud_app_1 php -f /var/www/html/cron.php 2>&1 /dev/null
#nextcloud 后台任务配置

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永恒布gg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值