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はシンプルなタイマーコンポーネントを実装します

推薦する

Apache Log4j2 が核レベルの脆弱性と迅速な修正を報告

Apache Log4j2 が核レベルの脆弱性を報告し、スタックリーダーの友人たちは大騒ぎになりまし...

Vue3.0 異なる解像度のコンピュータの適応操作

まず依存関係をインストールする必要があります npm i lib-flexible-computer...

Nginx のパフォーマンスを向上させるための提案

Web アプリケーションが 1 台のマシンでのみ実行される場合、パフォーマンスを向上させるのは非常に...

Win10にnginxをインストールして設定するプロセス

1. はじめにNginx は、無料のオープンソースの高性能 HTTP サーバーおよびリバース プロキ...

DockerコンテナがSongtiなどのフォントを認識しない場合の解決策

問題の背景: docker を使用してプロジェクトをデプロイする場合、プロジェクト内で印刷コントロー...

mysql5.7.18 のインストール時にエントリが見つからない問題の解決方法

mysql5.7.18のインストール時に次の問題が発生しました: プログラム入力ポイントfesetr...

ボリュームを使用してホストと Docker コンテナ間でファイルを転送する方法

以前、Docker コンテナとローカル マシン間のファイル転送に関する記事を書きました。しかし、この...

jsはシンプルな英語-中国語辞書を実装します

この記事では、参考までに、簡単な英中辞典を実装するためのjsの具体的なコードを紹介します。具体的な内...

HTMLファイルとは何ですか?HTMLファイルを開く方法

HTML は Hypertext Markup Language の略です。現在、ほとんどの Web...

MySQL5.7 mysqldump バックアップとリカバリの実装

MySQL バックアップコールドバックアップ:停止服務進行備份,即停止數據庫的寫入ホットバックアップ...

Linux システムによって報告される xfs_vm_releasepage 警告問題に対処する方法

問題の説明最近、いくつかのマシンで、一日のさまざまな時間に次の警告メッセージが表示されました。 3月...

Windows Server 2019 のインストール (グラフィカル チュートリアル)

Windows Server 2019 は、Microsoft が公式にリリースした最新のサーバー...

docker+jenkins+node.js の自動デプロイメント環境をゼロから構築する方法

このケースはCentOS 7システムに基づいていますDockerの使用経験がある人に適していますLi...

MySQL方言の簡単な紹介

データベースはさておき、人生における方言とは何でしょうか?方言とは、ある場所特有の言語です。他の場所...