GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Siapkan Nextcloud dengan Redis menggunakan Docker

Ringkasan

Kami akan melalui langkah-langkah cara Mengatur Nextcloud dengan Redis menggunakan Docker. Untuk proses ini, kami akan menggunakan Docker compose dan build stack untuk men-deploy container Docker Nextcloud sekaligus dengan MariaDB dan Redis secara bersamaan.

Persyaratan untuk menyiapkan Nextcloud dengan Redis:

– Docker terinstal dan berjalan di server host (Instal Docker)
– Tulis Docker diinstal (Instal Docker Compose)

Apa itu Redis dan mengapa disarankan untuk menerapkannya dengan Nextcloud

Redis adalah server cache objek open source yang dapat digunakan sebagai cache database untuk meningkatkan kinerja database. Secara default Nextcloud tidak memiliki cache database (meskipun dapat dikonfigurasi) dan tanpa cache database, kinerja Nextcloud dapat berkurang (dengan kata lain sangat lambat) tetapi ketika Redis ditambahkan ke dalam permainan, itu dapat secara drastis meningkatkan kinerja Nextcloud. Redis juga memiliki wadah Docker resmi, yang akan kita gunakan dalam file penulisan buruh pelabuhan ini.

Siapkan Nextcloud dengan Redis menggunakan Docker

Di paragraf berikut, konfigurasi penulisan Docker disediakan di sini dan kami akan membahas konfigurasi apa yang dilakukannya:

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

Pendekatan yang kami gunakan untuk men-deploy container adalah bahwa kami menetapkan setiap container sebagai layanan, dan setiap layanan akan memiliki volume data terpasangnya sendiri di mesin host. Metode ini memungkinkan kita untuk lebih mudah menghubungkan kontainer dan membuatnya sehingga beberapa kontainer bergantung pada yang lain untuk berfungsi dengan baik.

Ikhtisar docker compose file yaml:

  • versi:‘3’ // Versi penulisan Docker
  • volume:// menentukan kontainer mana yang akan memiliki volume terpasang
  • nextcloud:
  • db:
  • layanan:// mendefinisikan container mana yang merupakan layanan
  • db:// layanan basis data untuk nextcloud
  • gambar:mariadb // Docker resmi dari server mariadb
  • mulai ulang:selalu // argumen untuk me-restart container selalu pada masalah apa pun
  • perintah:–transaction-isolation=READ-COMMITTED –binlog-format=ROW –innodb-file-per-table=1 –skip-innodb-read-only-compressed // perintah untuk dijalankan di MariaDB untuk mengkonfigurasi format tabel database. Jika tidak, Anda mungkin mengalami kesalahan penolakan penulisan Inno_DB
  • volume:// db:/var/lib/mysql
  • lingkungan://  Variabel lingkungan tempat kami menentukan kredensial basis data
  • – MYSQL_ROOT_PASSWORD=somerootpassword
  • – MYSQL_PASSWORD=somemysqlpassword
  • – MYSQL_DATABASE=db
  • – MYSQL_USER=mysqluser
  • redis://  layanan redis ditentukan
  • gambar:redis //  Gambar resmi Redis Docker
  • mulai ulang:selalu //  argumen untuk me-restart container selalu pada masalah apa pun
  • perintah:redis-server –requirepass someredispassword //  argumen ke pass-through to redis  perintah untuk menyetel sandi redis
  • aplikasi://  mendefinisikan nextcloud sebagai layanan
  • gambar:nextcloud //  mendefinisikan gambar buruh pelabuhan nextcloud resmi
  • mulai ulang:selalu //  argumen untuk me-restart container selalu pada masalah apa pun
  • port:– 8080:80 //  argumen untuk mengatur port apa yang akan diekspos untuk mengakses Nextcloud
  • tautan:– db -redis // mendefinisikan tautan redis dan tautan basis data untuk Nextcloud untuk menggunakan dan menyimpan data (di tautan tersebut kita hanya perlu mengatur nama layanan basis data yang sebelumnya kita tetapkan untuk wadah MariaDB)
  • volume:– nextcloud:/var/www/html //  variabel lingkungan untuk menyetel volume persisten dan menyimpan data di mesin host
  • lingkungan://   Variabel lingkungan tempat kami menentukan kredensial basis data (ini harus cocok dengan kredensial MariaDB dari atas dan memberikan kata sandi redis)
  • – MYSQL_PASSWORD=somemysqlpassword
  • – MYSQL_DATABASE=db
  • – MYSQL_USER=mysqluser
  • – MYSQL_HOST=db
  • – REDIS_HOST_PASSWORD=someredispassword
  • tergantung_pada://  Variabel lingkungan tempat kami menentukan ketergantungan untuk Nextcloud
  • – db
  • – redis

Menyebarkan file penulisan Docker

Cara menerapkan tumpukan ini:

Melalui terminal dan editor teks, kita akan membuat direktori baru di mana kita akan menyimpan docker-compose-yml dan dalam file itu kita akan menempelkan di konfigurasi yaml kita. Anda dapat melihat pada gambar di bawah bagaimana saya melakukannya:

Catatan – perhatikan lekukan dan pastikan setiap baris berada pada posisi lekukan yang benar.

Setelah kita membuat file docker-compose dan menyimpan perubahan di dalamnya dengan konfigurasi yaml kita, untuk menyebarkan stack, jalankan perintah berikut saat masih berada di direktori tempat file docker-compose kita berada:

docker-compose up -d

Hasil yang berhasil akan terlihat seperti ini:

Anda dapat memeriksa dengan perintah “docker ps -a” jika kontainer ada dan berjalan.

Ketika Anda mengkonfirmasi bahwa penyebaran berhasil, periksa kembali browser Anda jika Anda dapat mengakses Nextcloud melalui alamat IP dan port yang terbuka. Anda seharusnya dapat melihat halaman awal Nextcloud di mana ia meminta untuk membuat akun admin dan menyelesaikan instalasi.

Ringkasan

Untuk meninjau apa yang telah kami bahas dalam posting ini – proses cara mengatur Nextcloud dengan Redis menggunakan Docker. Dengan komposisi buruh pelabuhan, kami menerapkan setumpuk wadah buruh pelabuhan dalam satu penerapan di mana kami mengonfigurasi untuk menggunakan Nextcloud yang akan menggunakan Redis sebagai cache objek database untuk database MariaDB-nya guna meningkatkan kinerja Nextcloud. Untuk memperjelas bahwa ini bukan metode standar, ini hanya salah satu dari banyak cara untuk membuat tumpukan Docker ini dan menghubungkan layanan ini dan menurut saya ini adalah salah satu metode paling sederhana untuk menulis komposisi buruh pelabuhan untuk penyiapan ini.

Terima kasih atas waktunya…


Docker
  1. Terapkan Nextcloud di Docker menggunakan Ansible

  2. Cara Menginstal Jenkins dengan Docker

  3. Cara Menginstal Docker di CentOS

  1. Menggunakan Ubuntu Dengan Pengaturan Dua Layar?

  2. Cara Menginstal Nextcloud dengan Docker di Server Linux Anda

  3. 10 Tips Mudah Diikuti untuk Mengelola Instans Nextcloud yang Dihosting Sendiri dengan Docker

  1. Cara menginstal Nextcloud terintegrasi dengan ONLYOFFICE menggunakan Docker

  2. Siapkan Cluster Kubernetes di Instans AWS EC2 dengan Ubuntu menggunakan kubeadm

  3. Panduan Cepat untuk Menggunakan Docker Compose