GNU/Linux >> Znalost Linux >  >> Panels >> Docker

Nastavte Nextcloud s Redis pomocí Dockeru

Přehled

Projdeme si kroky, jak nastavit Nextcloud s Redis pomocí Dockeru. Pro tento proces použijeme Docker compose and build stack pro okamžité nasazení Nextcloud Docker kontejneru s MariaDB a Redis dohromady.

Požadavky na nastavení Nextcloud s Redis:

– Docker nainstalován a spuštěn na hostitelském serveru (Instalovat Docker)
– Docker compose nainstalován (Install Docker Compose)

Co je Redis a proč se doporučuje nasadit jej s Nextcloud

Redis je open source server mezipaměti objektů, který lze použít jako mezipaměť databáze za účelem zlepšení výkonu databáze. Ve výchozím nastavení Nextcloud nemá mezipaměť databáze (lze však nakonfigurovat) a bez mezipaměti databáze se výkon Nextcloud může snižovat (jinými slovy být opravdu pomalý), ale když je do hry přidán Redis, může výrazně zlepšit výkon Nextcloud. Redis má také oficiální kontejner Docker, který budeme používat v tomto souboru pro psaní dockeru.

Nastavte Nextcloud s Redis pomocí Dockeru

V následujícím odstavci je zde uvedena konfigurace Docker compose a my se budeme zabývat konfigurací, co dělá:

version: '3'

volumes:

  nextcloud:

  db:

services:

  db:

    image: mariadb

    restart: always

    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=somerootpassword

      - MYSQL_PASSWORD=somemysqlpassword

      - MYSQL_DATABASE=db

      - MYSQL_USER=mysqluser

  redis:

    image: redis

    restart: always

    command: redis-server --requirepass someredispassword

  app:

    image: nextcloud

    restart: always

    ports:

      - 8080:80

    links:

      - db
      - redis

    volumes:

      - nextcloud:/var/www/html

    environment:

      - MYSQL_PASSWORD=somemysqlpassword

      - MYSQL_DATABASE=db

      - MYSQL_USER=mysqluser

      - MYSQL_HOST=db

      - REDIS_HOST_PASSWORD=someredispassword

    depends_on:

      - db

      - redis

Přístup, který používáme k nasazení kontejnerů, spočívá v tom, že každý kontejner specifikujeme jako službu a každá služba bude mít svůj vlastní připojený objem dat na hostitelském počítači. Tato metoda nám umožňuje snadněji spojovat kontejnery a zajistit, aby některé kontejnery správně fungovaly na jiných.

Přehled souboru yaml pro vytvoření ukotvitelného panelu:

  • verze:„3“ // Verze pro psaní Docker
  • objemy:// definování, které kontejnery budou mít připojené objemy
  • nextcloud:
  • db:
  • služby:// definování, které kontejnery jsou službami
  • db:// databázová služba pro nextcloud
  • image:mariadb // Oficiální docker serveru mariadb
  • restart:vždy // argument pro restart kontejneru vždy při jakémkoli druhu problému
  • příkaz:–transaction-isolation=READ-COMMITTED –binlog-format=ROW –innodb-file-per-table=1 –skip-innodb-read-only-compressed // příkaz ke spuštění na MariaDB pro konfiguraci formátu databázové tabulky. Jinak se může stát, že Inno_DB odmítne napsat chybu
  • svazky:// db:/var/lib/mysql
  • prostředí://  Proměnné prostředí, kde zadáváme přihlašovací údaje k databázi
  • – MYSQL_ROOT_PASSWORD=somerootpassword
  • – MYSQL_PASSWORD=somemysqlpassword
  • – MYSQL_DATABASE=db
  • – MYSQL_USER=mysqluser
  • redis://  definována služba redis
  • obrázek:redis //  Oficiální obrázek Redis Docker
  • restart:vždy //  argument pro restart kontejneru vždy při jakémkoli druhu problému
  • příkaz:redis-server –requirepass somereddispassword //  argument pro předání redis příkazu k nastavení hesla redis
  • aplikace://  definuje nextcloud jako službu
  • obrázek:nextcloud //  definoval oficiální image dockeru nextcloud
  • restart:vždy //  argument pro restart kontejneru vždy při jakémkoli druhu problému
  • porty:– 8080:80 //  argument pro nastavení, jaké porty mají být vystaveny pro přístup k Nextcloud
  • odkazy:– db -redis // definoval odkaz redis a odkaz na databázi pro Nextcloud pro použití a ukládání dat (v odkazu stačí nastavit název databázové služby, který jsme dříve nastavili pro kontejner MariaDB)
  • svazky:– nextcloud:/var/www/html //  proměnná prostředí pro nastavení trvalého svazku a ukládání dat na hostitelském počítači
  • prostředí://   Proměnné prostředí, kde zadáváme přihlašovací údaje databáze (tyto musí odpovídat přihlašovacím údajům MariaDB shora a poskytovat heslo redis)
  • – MYSQL_PASSWORD=somemysqlpassword
  • – MYSQL_DATABASE=db
  • – MYSQL_USER=mysqluser
  • – MYSQL_HOST=db
  • – REDIS_HOST_PASSWORD=someredespassword
  • depends_on://  Proměnná prostředí, kde určujeme závislost pro Nextcloud
  • – db
  • – redis

Nasadit soubor pro psaní Dockeru

Jak nasadit tento zásobník:

Přes terminál a textový editor vytvoříme nový adresář, do kterého uložíme docker-compose-yml a do tohoto souboru vložíme naši konfiguraci yaml. Jak se mi to povedlo, můžete vidět na obrázcích níže:

Poznámka – dbejte na odsazení a ujistěte se, že každý řádek je ve správné poloze odsazení.

Jakmile jsme vytvořili soubor docker-compose a uložili v něm změny pomocí naší konfigurace yaml, pro nasazení zásobníku spusťte následující příkaz, zatímco jste stále umístěni v adresáři, kde je umístěn náš soubor docker-compose:

docker-compose up -d

Úspěšné výsledky by měly vypadat takto:

Můžete to zkontrolovat příkazem “docker ps -a“ pokud jsou kontejnery přítomny a běží.

Když potvrdíte, že nasazení bylo úspěšné, znovu zkontrolujte v prohlížeči, zda máte přístup k Nextcloud přes IP adresu a odhalený port. Měli byste vidět úvodní stránku Nextcloudu, kde požaduje vytvoření účtu správce a dokončení instalace.

Shrnutí

Chcete-li zkontrolovat, co jsme v tomto příspěvku pokryli, zpracujte postup, jak nastavit Nextcloud s Redis pomocí Docker. S docker compose jsme nasadili zásobník dockerových kontejnerů v jediném nasazení, ve kterém jsme nakonfigurovali nasazení Nextcloud, který bude používat Redis jako mezipaměť databázových objektů pro svou databázi MariaDB, aby se zvýšil výkon Nextcloud. Abychom také objasnili, že se nejedná o standardní metodu, je to jen jeden z mnoha způsobů, jak vytvořit tento zásobník Docker a propojit tyto služby, a považuji to za jednu z nejjednodušších metod, jak napsat zprávu dockeru pro toto nastavení.

Děkuji za váš čas…


Docker
  1. Nasaďte Nextcloud na Docker pomocí Ansible

  2. Používáte Ubuntu s nastavením na dvou obrazovkách?

  3. Rychlý průvodce používáním Docker Compose

  1. Jak nainstalovat Jenkins pomocí Docker

  2. Jak nainstalovat Docker na CentOS

  3. Jak nainstalovat Nextcloud s Dockerem na váš Linux Server

  1. Jak nainstalovat Nextcloud integrovaný s ONLYOFFICE pomocí Dockeru

  2. Nastavení clusteru Kubernetes na instanci AWS EC2 s Ubuntu pomocí kubeadm

  3. 10 snadno použitelných tipů pro správu vlastní hostované instance Nextcloud pomocí Dockeru