K7

K7Blog

须知少年凌云志 曾许人间第一流.
proton
telegram

Dockerで複数の宝塔+商業思路をインストールする

事情起因、私は bilibili で 1 つのビデオを見ました:

ビデオでは、「私たちはコンテナ技術を使用して完全な宝塔を実行しています」と言及されていました。それで、以前に bthost 仮想ホスト販売システムが現れたことを思い出しましたが、ビデオでの販売アドレスは開けず、体験することはありませんでしたが、ビデオでドメインのバインドや仮想ホストのモードを見ましたが、他の機能はデモされませんでした。

アイデア:#

私もそれがどのように動作するのかを深く研究する方法はありません。私は技術に詳しくないので、以下は私の個人的な考えです。私の考えは、複数の宝塔を Docker コンテナにインストールし、宝塔のログインポートのみをマッピングすることです。ユーザーが使用しやすくするために、総サーバーに複数の IP がある場合は、各コンテナに個別の IP を割り当てるか、個別に内部ネットワークサーバーを販売する必要があります。ユーザーが外部ネットワークを使用する場合は、内部ネットワークトンネリングサービスと組み合わせる必要があります。または、1 つのサーバーを逆プロキシとして使用し、各コンテナには 80 ポートを使用する必要があります。80 ポートをサーバーの固定ポートにマッピングし、逆プロキシで 80 ポートを使用して固定ポートをプロキシすることで、各コンテナが 80 ポートを使用できるようにします。コンテナが他のポートを使用する場合も同じです。Linux では 6 万以上のポートを開放できるので、問題ありません。

私の逆プロキシの考え方に従うと、サーバー a はコンテナを開設し、サーバー b は逆プロキシです。コンテナ 1 は 80 ポートを使用する必要があり、80 ポートをサーバー a の 801 ポートにマッピングし、サーバー b はサーバー a の 801 ポートを逆プロキシし、外部には 80 ポートとして表示されます。コンテナ 1 が 7788 ポートを使用する場合、7788 を 8010 ポートにマッピングし、サーバー b はサーバー a の 8010 ポートを逆プロキシし、外部には 7788 ポートとして表示されます。

使用方法:#

まず、Docker と Docker-Compose をインストールします:https://k7blog.com/NVEpVnWHFmd

次に、Dockge:美しく使いやすい Docker Compose 管理プラットフォームをインストールします。

IP+5001 ポートを開き、管理者ユーザーを作成してログインし、右上の Compose をクリックしてコンテナテンプレートを作成します。

compose.yaml に以下の内容を入力します。宝塔の Docker イメージのデフォルトポートは 8888 ですが、外部マッピングが 8881 の場合、以下の ports に 8881:8888 を入力する必要があります。

version: "3.8"
services:
  baota:
    image: btpanel/baota
    restart: unless-stopped
    ports:
      - 8888:8888
networks: {}

コンテナが実行され、IP + ポートで宝塔にアクセスできるようになります。デフォルトでインストールされているのは 7.9.4 正式版のようですが、宝塔の公式アカウントのパスワードが必要です。私はクラック版を直接インストールしました。bash をクリックしてターミナルに入ります。

Snipaste_2024-02-12_17-15-22

以下のコマンドを入力して宝塔を最新のクラック版にアップデートします:

curl http://io.bt.sy/install/update6.sh|bash

デフォルトで生成されるパスワードは間違っているようですし、この Dockge のターミナルには貼り付けることができないため、コマンドは手動で入力する必要があります。bt 5を実行してパスワードを変更し、bt 14を実行して宝塔のデフォルト情報を表示し、コンテナを再起動します(コンテナを再起動しないと宝塔は機能しません)。チュートリアルはここで終わりです!

プロジェクトのテスト:#

現在、私は高性能の 4h16g サーバーを vultr で使用しており、以下の計画をテストして続きを書く予定です:

  1. 個別のコンテナが内部ネットワークトンネリングを使用して外部ネットワークに正常にアクセスできるかどうか。👌
  2. 宝塔コンテナの機能が正常に使用できるかどうか。👌
  3. PHP、Java、Node、Go などのプロジェクトのデプロイをテストする。👌
  4. コンテナ同士が影響を及ぼすかどうか。👌
  5. パフォーマンスの使用状況はどうか。👌
  6. 上記で説明した逆プロキシモードを使用してテストする。~~

なぜ私がこれを試しているのかというと、最初にインターネットに触れたとき、当時は多くのエキスパートが優れたリソースを無料で共有し、私たちのような初心者に無料の仮想ホストを提供してくれました。また、多くの面白いオープンソースプロジェクトもあり、それを使ってインターネットに微力を貢献しようと思いました。私が言っていることが通用するなら、ちょうどいくつかの年間料金の空きサーバーを持っているので、みんなに無料で使ってもらえるようにしたいと思います。

その後の計画:#

その後、1:#

現在、1. 個別のコンテナが内部ネットワークトンネリングを使用して外部ネットワークに正常にアクセスできるかどうかと、5. パフォーマンスの使用状況はどうかをテストしました。

私は次のチュートリアルに従って、シンプルなポートフォワーディングを使用して内部ネットワークトンネリングを構築しました。トンネリングは成功しましたが、私のドメインはすべて cf の cdn が追加されており、完全な暗号化プロトコルが使用されています。ブラウザ - cf サーバー - ソースサーバーのすべてに SSL 証明書が必要です。ブラウザ - cf サーバーの部分は cf が担当し、cf サーバー - ソースサーバーの証明書は私が担当する必要がありますが、コンテナに証明書を追加しましたが効果がありませんでした。これは現在の解決策が必要な問題です。

次に、パフォーマンスの状況ですが、これはまだ成功したテストではありません。ホストマシンには Docker がインストールされ、3 つのコンテナが開設され、それぞれのコンテナには nginx と mysql がインストールされ、mysql の最適化設定が 8-16G に設定されています。現在、約 2.5G のメモリを使用しており、ストレージスペースは約 22.5G を使用しています。メモリの使用量はかなり高いですが、私の個人的なサーバーには nginx と mysql がインストールされ、Cloudreve クラウドストレージといくつかの Docker コンテナが実行されても、約 1.5G しか使用されていません。

次のテストでは、私が言及した逆プロキシモードが機能するかどうかをテストする予定です。

その後、2:#

夜中に暇だったので、8h16g のサーバーを開いてテストを続けました。現在、3. PHP、Java、Node、Go などのプロジェクトのデプロイをテストしています。

Cloudreve クラウドストレージプロジェクトを構築し、問題なく実行できました。ただし、コンテナ宝塔のターミナルを使用する最初の試みでは数分間フリーズしましたが、その後は問題ありませんでした。

次に、WordPress ブログを構築し、テストも問題ありませんでした。他の Java プロジェクトや Go プロジェクトも問題なくデプロイできるようです。(Docker もインストールしましたが、動作しませんでした。)

現時点では、コンテナ宝塔のほとんどの機能は問題ありませんが、一部のシステム機能を使用するとエラーが発生することがあります。やはり、私はクラック版の宝塔パネルを使用しています。そして、コンテナ同士が影響を及ぼすかどうか、私はまだそのような状況に遭遇していません。ファイルが混乱する可能性があることが私の心配事でしたが、それは起こりませんでした。唯一の欠点は、メモリの使用量が多いことです。それ以外はまあまあです。次のステップでは、スクリプトを作成して、コンテナ宝塔を自動的に開設し、クラック版にアップグレードする予定です。

現在、私は比較的多くのサーバーを持っていますが、それらは 4h4g のジャンクサーバーです。私は高性能で計算能力の高いサーバーをテストしています。そこで、以前に書いた記事没钱还想玩高配服务器,Linodes 的 100 美金真的超爽!を思い出しました。その時は少しお金を使って無料アカウントでサーバーを開設し、コンテナ宝塔を実行し、愛 frp のトンネリング管理パネルを研究し、良い回線のサーバーを探したり、無料のトンネリングサービスを集めたりして、みんなに無料で使ってもらえるようにしたいと思います。サーバーの拡張性を持ちながら、通常のマシンと同じように公共ネットワークを使用できます。ただし、少し手間がかかります。無料ですからね!

その後、私は逆プロキシのアイデアと内部ネットワークトンネリングの効果が同じであることに気づきました。ただし、テスト中の証明書の問題を解決できます。他のテストは行いません。現在の記事はここまでです。ここまで試してみましたが、次は自己サービスのコンテナ宝塔を開設する方法に取り組む予定です。コードを書くことができないので、chatgpt にお願いするしかありません。うまくいかない場合は、この計画は放棄されるかもしれません。次の操作を待ってください!!!

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。