A8DOG

A8DOG

随便写写,记录折腾过程!
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://a8dog.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を実行して宝塔のデフォルト情報を確認し、コンテナを再起動します(コンテナを再起動しないと宝塔は機能しません)。チュートリアルはここで終了です!

プロジェクトの計画:#

私は vultr で高性能の 4h16g サーバーを 120 ドル / 月で借りました。現在、以下の計画をテストして、その後の手順を書きます:

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

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

その後の計画:#

その後の一:#

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

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

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

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

その後の二:#

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

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

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

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

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

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

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