Dockerはnextcloudを使用してプライベートBaiduクラウドディスクを構築します

Dockerはnextcloudを使用してプライベートBaiduクラウドディスクを構築します

突然、ドキュメントの保存と共同作業のためのプライベート サービスを構築する必要がありました。多くの場所を検索した後、onlyoffice サービスがドキュメント編集のニーズを満たすことができることを発見しました。ストレージについては、nextcloud を使用してプライベート クラウド ディスク サービスを構築できます。このように、nextcloud + onlyoffice を使用すると、ドキュメントのオンライン共同ストレージのニーズを満たすことができます。実際、これは、offiice などのファイルを編集および共有できるプライベート クラウド ディスクです。

初期段階では従来のイメージを使用して1つずつ起動し、その後、デプロイメントをdocker-composeに切り替えるという2つのソリューションも提供しました。もう 1 つのポイントは、データベースが postgresql を使用していることです。システムは mysql と MariaDB もサポートしており、組み込みの sqlite を直接使用することもできます。 mysql を使用する場合、MariaDB の設定は postgresql と似ています。組み込みの sqlite ははるかにシンプルです。この記事のデータベース操作はすべて無視してください。

文章

サービスをインストールして開始する

方法 1: 従来のデプロイメント、方法 2: docker-compose デプロイメント。2 番目の方法は簡単なので推奨されます。

どちらにしても、まずdockerをインストールしてください
Linux での Docker のインストール

方法1

nextcloudイメージとデータベースイメージをプルする

データベースのミラーリングはオプションです。mysql を使用することも、nextcloud に組み込まれている sqlLite を直接使用することもできます。ここでは postgresql を使用します。また、Officeを操作する必要があるため、onlyoffice サービスもインストールしましたが、これは無視できます。

docker プル docker.io/nextcloud
docker プル postgres
docker pull onlyoffice/documentserver

コンテナを作成して起動する

内蔵データベースを使わない場合は、まずデータベース保存ウェアハウスを初期化する必要があります。データ保存専用のクラウドウェアハウスを作成して起動しました。

データベースを起動する(オプション)

docker run --restart=always --name postgresql -v /etc/localtime:/etc/localtime -v /data/postgresql:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 -d -p 35432:5432 postgres

-e POSTGRES_PASSWORD=123456 は、デフォルトのデータベースパスワードが 123456 であることを意味します。

オフィスサービスを開始する(オプション)

docker run --name onlyoffice -i -t -d -p 9000:80 onlyoffice/documentserver

nextcloudを始める

docker run --restart=always --name nextcloud -p 8080:80 -v /nextcloud:/var/www/html --link postgresql:postgresql -d nextcloud

-name nextcloudコンテナ名を設定します

--restart=always常に自動的に再起動し、マシンのシャットダウンまたは再起動後にコンテナを再起動することを意味します。

-p 8080:80 は、ローカル ポート 8080 をコンテナー内のポート 80 にマッピングすることを意味します。つまり、アクセスするときにローカル ip:8080 が必要になります (必要なポートを選択できます)。

-v /nextcloud:/var/www/htmlは、コンテナ関連のリソースをローカルの /nextcloud ディレクトリ (独自のディレクトリを選択できます) にマップして、データの永続化やページ構成の外部変更などを容易にするために使用されます。

--link postgresql:postgresql必須ではありません。設定を簡単にするために postgresql データベース コンテナをリンクします (この機能については後で詳しく説明します)

方法2

docker-composeをインストールする

curl -L https://github.com/docker/compose/releases/download/1.10.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose

docker-compose ファイルの作成

専用のフォルダを作成します。nextcloud を例にとり、その中に docker-compose.yml ファイルを作成します。

バージョン: '2'
サービス:
 ネクストクラウド:
  コンテナ名: nextcloud_app
  画像: nextcloud
  ポート:
   - 「8080:80」
  ボリューム:
   - ./app:/var/www/html
  リンク:
   - PostgreSQL
  再起動: 常に

 オンリーオフィス:
  コンテナ名: nextcloud_office
  画像: onlyoffice/documentserver
  ポート:
   - 「9000:80」
  再起動: 常に

 PostgreSQL:
  コンテナ名: nextcloud_db
  画像: postgres:11.4
  環境:
   - POSTGRES_パスワード:123456
  ボリューム:
   - ./postgresql:/var/lib/postgresql/データ
   - /etc/localtime:/etc/localtime
  再起動: 常に

ネットワーク:
 デフォルト:
  外部の:
   名前: ネクストクラウド

コンテナを起動する

docker-compose.ymlと同じディレクトリで操作します。
初回起動時には自動的にイメージが取得されるため、インターネット接続が必要です。また、ネットワーク接続方式が使用され、ネットブリッジを手動で作成する必要があります。
ネットを作成する:

docker ネットワーク作成 nextcloud

起動する:

docker-compose を起動 -d

上記のサービスが正式に開始されたら、次のステップは設定です。

初期設定

ブラウザアクセスIP:8080

4.1 管理者アカウントのパスワードを入力する

4.2 データディレクトリを変更せずにデフォルトを使用することをお勧めします。

4.3 データベースの選択

組み込みの SQLite データベース、より少ないストレージ ファイル、デフォルトのインストールを選択するだけで完了します。

他のデータベースを選択する場合は、PostgreSQL を例に挙げます。

データベースのユーザー名とパスワードを指定する必要はありませんが、データベースに対応するデータベース名を事前に作成する必要があります。

最も重要なデータベース ホストは、データベース アクセス IP + ポート番号です。

注:しかし、私が入力した postgresql は見覚えがありますか? はい、それは --link (方法 2 で同じ目的で使用した net メソッド) です。私のデータベースも docker コンテナを使用しています。--link を使用すると、PostgreSQL データベース コンテナをエイリアスとして渡すことができるため、ここでは postgresql を直接使用してデータベースを表すことができます (これは docker コンテナ間の通信方法です。PostgreSQL コンテナは nextcloud コンテナの前に起動する必要があることに注意してください)。

ホワイトリストの設定と使用

アクセスするためにドメイン名といくつかの新しい IP ポートが必要な場合は、/nextclou/config/config.php の設定を変更する必要があります (利用できない場合は追加してください)

 '信頼できるドメイン' =>
 配列 (
  0 => 'www.xxx.com:10080',
 )、

その後、メールボックスの構成を自分で調べることができます。

Officeのみ設定します(必要ありません。Word Onlineなどを操作したいだけです)

管理者としてクラウド ディスクにログインし、[ユーザー] -> [アプリ] をクリックして ONLYOFFICE プラグインをインストールします。


次に、「ユーザー」->「設定」->「ONLYOFFICE」に移動し、サービスのアドレスを入力します。


効果画像:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Docker を使用した nextcloud パーソナル ネットワーク ディスクの構築に関するチュートリアル
  • Docker+nextcloudで個人用クラウドストレージシステムを構築
  • Dockerを使用してNextCloudネットワークディスクを展開する方法
  • Docker を使用して NextCloud プライベート ネットワーク ディスクをインストールおよび展開する方法

<<:  MySQL最新バージョン8.0.17解凍版インストールチュートリアル

>>:  Vueはシンプルなタイマーコンポーネントを実装します

推薦する

SHTML 簡潔なチュートリアル

SHTMLとASPは似ています。SHTMLという名前のファイルでは、SSIの命令がASPの命令と同じ...

JavaScriptの動作メカニズムの詳細な説明とイベントループについての簡単な説明

目次1. JavaScript がシングルスレッドなのはなぜですか? 2. タスクキュー3. イベン...

シェルスクリプトを使用して Docker サービスを一括で開始および停止する

目次Dockerを起動するDockerを停止するPython 呼び出しスクリプト最近、日々のテストで...

CocosCreator 一般的なフレームワーク設計リソース管理

目次Cocos Creator のリソース管理に関する問題リソースの依存関係リソースの使用レスローダ...

ウェブページの読み込み速度を上げる簡単なヒント

Web ページの読み込み速度は、Web サイトの品質を評価するための重要な指標です。その理由は、ほと...

JavaScript配列の簡単な紹介

目次配列の紹介配列リテラル2次元配列要約する配列の紹介配列- Arrayもオブジェクトですこれは通常...

vue keepAlive キャッシュクリア問題事例の詳細な説明

Keepalive は Vue プロジェクトでのキャッシュによく使用され、基本的な要件を満たすのに非...

DockerでJenkinsをインストールし、初期プラグインのインストール失敗の問題を解決する

Jenkins をインストールした後、プラグインの初期ダウンロードが常に失敗し、インストールが失敗し...

Centos7 での Rsync+crontab 定期同期バックアップ

最近、社内の重要なサーバデータを定期的にストレージにバックアップし、ついでにメモしておきたい以前、W...

...

Nexus をベースに Alibaba Cloud プロキシ ウェアハウスを構成するプロセスの分析

Nexus のデフォルトのリモートリポジトリは https://repo1.maven.org/ma...

React は入力値を取得し、2 つのメソッドの例を送信します

方法1: DOMが提供するイベントオブジェクトのターゲットイベント属性を使用して値を取得し、送信する...

MongoDB データベースの状態を監視する Zabbix3.4 メソッド

Mongodb には db.serverStatus() コマンドがあり、これを使用して Mongo...

ReactアプリケーションにおけるDOM DIFFアルゴリズムの詳細な説明

目次序文VirtualDOM とは何ですか? VirtualDOMを使用する理由DOMレンダリングペ...

MySQL スロークエリ: スロークエリを有効にする

1. スロークエリの用途は何ですか? long_query_time を超えて実行されるすべての S...