GNU/Linux >> Linux の 問題 >  >> Panels >> Docker

Dockerを使用してRedisでNextcloudをセットアップする

概要

Dockerを使用してRedisでNextcloudをセットアップする手順を説明します。このプロセスでは、Dockerを使用してスタックを作成および構築し、MariaDBとRedisをすべて一緒に使用してNextcloudDockerコンテナを一度にデプロイします。

RedisでNextcloudをセットアップするための要件:

– Dockerがホストサーバーにインストールされて実行されている(Dockerのインストール)
– Docker composeがインストールされている(Docker Composeのインストール)

Redisとは何ですか。Nextcloudでデプロイすることが推奨される理由

Redisは、データベースのパフォーマンスを向上させるためにデータベースキャッシュとして使用できるオープンソースのオブジェクトキャッシュサーバーです。デフォルトでは、Nextcloudにはデータベースキャッシュがなく(構成は可能です)、データベースキャッシュがないと、Nextcloudのパフォーマンスが低下する可能性があります(言い換えると、非常に遅くなります)が、Redisがプレイに追加されると、Nextcloudのパフォーマンスが大幅に向上します。 Redisには公式のDockerコンテナもあり、このDocker作成ファイルで使用します。

Dockerを使用してRedisでNextcloudをセットアップする

次の段落では、Docker構成構成がここに提供され、構成の機能について説明します。

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

コンテナのデプロイに使用しているアプローチは、各コンテナをサービスとして指定することです。各サービスには、ホストマシンに独自のマウントされたデータボリュームがあります。この方法を使用すると、コンテナーを簡単に接続して、一部のコンテナーが他のコンテナーに依存して正しく機能するようにすることができます。

docker compose yamlファイルの概要:

  • バージョン: ‘3’ // Docker作成バージョン
  • ボリューム:// ボリュームをマウントするコンテナを定義する
  • nextcloud:
  • db:
  • サービス:// どのコンテナがサービスであるかを定義する
  • db:// nextcloudのデータベースサービス
  • 画像:mariadb // mariadbサーバーの公式Docker
  • 再起動:常に// あらゆる種類の問題で常にコンテナを再起動するという議論
  • コマンド:–transaction-isolation =READ-COMMITTED –binlog-format =ROW –innodb-file-per-table =1 –skip-innodb-read-only-compressed // MariaDBで実行してデータベーステーブル形式を構成するコマンド。そうしないと、Inno_DBが書き込みエラーを拒否する場合があります
  • ボリューム:// db:/ var / lib / mysql
  • 環境:// データベースのクレデンシャルを指定する環境変数
  • – MYSQL_ROOT_PASSWORD =somerootpassword
  • – MYSQL_PASSWORD =somemysqlpassword
  • – MYSQL_DATABASE =db
  • – MYSQL_USER =mysqluser
  • redis:// 定義されたredisサービス
  • 画像:redis // 公式のRedisDockerイメージ
  • 再起動:常に// あらゆる種類の問題で常にコンテナを再起動するという議論
  • コマンド:redis-server –requirepass someredispassword // redisパスワードを設定するためのredisコマンドへのパススルーの引数
  • アプリ:// nextcloudをサービスとして定義
  • 画像:nextcloud // 公式のnextclouddockerイメージを定義しました
  • 再起動:常に// あらゆる種類の問題で常にコンテナを再起動するという議論
  • ポート:– 8080:80 // Nextcloudにアクセスするために公開するポートを設定する引数
  • リンク:– db -redis // Nextcloudがデータを使用および保存するためのredisリンクとデータベースリンクを定義しました(リンクでは、MariaDBコンテナーに以前に設定したデータベースサービス名を設定する必要があります)
  • ボリューム:– nextcloud:/ var / www / html // 永続ボリュームを設定し、ホストマシンにデータを保存するための環境変数
  • 環境:// データベースクレデンシャルを指定する環境変数(これらは上記のMariaDBクレデンシャルと一致し、redisパスワードを提供する必要があります)
  • – MYSQL_PASSWORD =somemysqlpassword
  • – MYSQL_DATABASE =db
  • – MYSQL_USER =mysqluser
  • – MYSQL_HOST =db
  • – REDIS_HOST_PASSWORD =someredispassword
  • dependents_on:// Nextcloudの依存関係を指定する環境変数
  • – db
  • – redis

Docker作成ファイルをデプロイする

このスタックをデプロイする方法:

ターミナルとテキストエディターを使用して、docker-compose-ymlを保存する新しいディレクトリを作成し、そのファイルにyaml構成を貼り付けます。以下の写真で私がどのようにそれをしたかを見ることができます:

注–インデントに注意し、各行が正しいインデント位置にあることを確認してください。

docker-composeファイルを作成し、yaml構成でそのファイルに変更を保存したら、スタックをデプロイするには、docker-composeファイルが配置されているディレクトリにある状態で次のコマンドを実行します。

docker-compose up -d

成功した結果は次のようになります。

コマンド「dockerps-a」で確認できます コンテナが存在し、実行されている場合。

デプロイが成功したことを確認したら、IPアドレスと公開されたポートを介してNextcloudにアクセスできるかどうかをブラウザで再確認します。管理者アカウントの作成とインストールの完了を求めるNextcloudの開始ページが表示されるはずです。

概要

この投稿で取り上げた内容を確認するには、Dockerを使用してRedisでNextcloudをセットアップする方法を処理します。 docker composeを使用して、Dockerコンテナーのスタックを単一のデプロイにデプロイしました。このデプロイメントでは、Nextcloudのパフォーマンスを向上させるためにRedisをMariaDBデータベースのデータベースオブジェクトキャッシュとして使用するNextcloudをデプロイするように構成しました。また、これが標準的な方法ではないことを明確にするために、これはこのDockerスタックを作成し、これらのサービスを接続する多くの方法の1つにすぎません。これは、このセットアップ用のDockerコンポジションを作成する最も簡単な方法の1つであることがわかりました。

お時間をいただきありがとうございます…


Docker
  1. Ansibleを使用してDockerにNextcloudをデプロイする

  2. Dockerを使用してJenkinsをインストールする方法

  3. 2画面セットアップでUbuntuを使用していますか?

  1. DockerComposeを使用するためのクイックガイド

  2. CentOSにDockerをインストールする方法

  3. LinuxサーバーにDockerを使用してNextcloudをインストールする方法

  1. Dockerを使用してONLYOFFICEと統合されたNextcloudをインストールする方法

  2. kubeadmを使用してUbuntuを使用してAWSEC2インスタンスにKubernetesクラスターをセットアップする

  3. DockerでセルフホストされたNextcloudインスタンスを管理するための10の簡単なヒント