
私はDockerに初めて触れ、さまざまな環境でさまざまなプロセスを分離するという概念が気に入りました。最も重要なのは、基本システムを汚染することなくコンテナで何かをテストできることです。私は現在、ホームサーバーをDocker設定に移行する大規模プロジェクトを計画しています。
私の既存の設定
- Ubuntuを実行しているサーバー(DEを使用して設定を簡素化しますが、破棄することもできます)
- システムは、単一のSATA SSD、2つのディスクアレイ(mdadmを使用するSoftware Raid 5からそれぞれ3つのディスク、それぞれ4 TB、3 TB)にインストールされ、およびにインストールされ
/share
ます/share2
。 - Plexメディアサーバー:一部のライブラリは1つの共有にあり、一部は別の共有にあり、Plexデータも共有にあります。
- Sambaサーバー:自宅の複数のWindowsコンピュータと共有
- Crashplan:2つのアレイ全体をバックアップするために使用されます。
- Insync:共有の1つでGoogleドライブを同期するために使用されるため、Samba経由でローカルにアクセスすることもできます。
- Webサーバー:一部の小規模Webサイトのテストに使用されます。
- ネットワークサービス:トランスポートダウンロードステーション、SickRage、Unifyネットワークコントローラ
ターゲット
したがって、理解している場合は、次のスキーマを使用する必要があります。
- UbuntuをホストOSとして使用する(既存のOSを再利用しますが、いくつかのクリーンアップが必要です)
- mdadmがホストオペレーティングシステムにインストールされています(すでに存在し、すべて設定されています)。
- 次のコンテナを持つDockerホスト
- サンバサーバー
- フレックスメディアサーバー
- 緊急計画
- 同期中
- ネットワークサーバー
- 広がる
- 病的な怒り
- 統合ネットワークコントローラ
避けられない質問
私の質問は次のとおりです
- 基本アーキテクチャは正しいですか? (基本的にどのように機能するのか理解していますか?)
- コンテナ間でデータが正しく共有されますか?たとえば、Sambaを介してファイルを更新すると、Crashplanコンテナはそのファイルをバックアップし、InsyncコンテナはそれをGoogleドライブに同期します。私は大丈夫だと思いますが、私が見つけた他の記事では、常に次のように言います。データを変更するコンテナを実行してから2番目のコンテナを実行すると、変更されたデータが表示されます。しかし、コンテナが実行されていません。一緒にそれではここに質問があります。
- 今、コンバージョンについての難しい質問が出てきます。私が見つけたそこ(2番目の説明を参照)ホスト上のボリュームのデータを変更しないでください。そうしないと、データが破損する可能性があります。一度にすべてを変更することはできません。 1つのコンテナを実装した後に正しく実行されたら、次のコンテナに進むように進めたいと思います。私は台無しにしましたか?すべてのコンテナと手順を一度に準備する必要がありますか?