データベースが Docker やコンテナ化に適さない理由はいくつかあります:
1. データは安全ではありません
たとえそうしたいとしてもDocker データをホストに保存しても、データが失われないことは保証できません。 Docker ボリュームは、永続ストレージを提供するために Union FS イメージ レイヤーを中心に設計されていますが、それでも保証がありません。
現在のストレージ ドライバーでは、Docker の信頼性が低くなる危険性がまだあります。コンテナーがクラッシュし、データベースが適切にシャットダウンされない場合、データが破損する可能性があります。
2. データベースを実行するための環境要件
DBMS コンテナーと他のサービスが同じホスト上で実行されているのが一般的です。ただし、これらのサービスのハードウェア要件は大きく異なります。
データベース (特にリレーショナル データベース) には、より高い IO 要件があります。通常、データベース エンジンは、同時リソースの競合を避けるために専用の環境を使用します。データベースをコンテナに配置すると、プロジェクトのリソースが無駄になります。このインスタンスには多くの追加リソースを構成する必要があるためです。パブリック クラウドで 34G のメモリが必要な場合、起動するインスタンスには 64G のメモリが必要です。実際には、これらのリソースは完全には使用されていません。
それにどう対処すればよいでしょうか?レイヤーで設計し、固定リソースを使用して、異なる層で複数のインスタンスを起動できます。水平方向にスケーリングすることは、垂直方向にスケーリングするよりも常に優れています。
3. ネットワークの問題
Docker ネットワークを理解するには、ネットワーク仮想化について深く理解する必要があります。予期せぬ事態に対処する準備もしておかなければなりません。サポートや追加ツールなしでバグ修正を実行する必要がある場合があります。
4. ステート
ステートレス サービスを Docker にパッケージ化すると、コンテナーを調整し、単一障害点を解決できます。しかし、データベースはどうでしょうか?データベースを同じ環境に配置すると、データベースがステートフルになり、システム障害の範囲が大きくなります。次回アプリケーション インスタンスまたはアプリケーションがクラッシュすると、データベースに影響が出る可能性があります。
5. 追加の分離はデータベースに悪影響を及ぼします
実際、これについては 2 番目と 3 番目の理由で述べました。しかし、この事実をもう一度強調したいので、これを別の理由としてリストします。分離レベルが高くなるほど、リソースのオーバーヘッドも増加します。水平方向に簡単にスケーリングできるため、専用環境よりも多くのメリットを得ることができます。ただし、Docker の水平スケーリングはステートレス コンピューティング サービスにのみ使用でき、データベースには使用できません。
データベースには分離機能が見当たりませんが、なぜデータベースをコンテナーに入れる必要があるのでしょうか?
推奨チュートリアル: docker チュートリアル
以上がデータベースが Docker やコンテナ化に適さない理由の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Dockerは、アプリケーションのパッケージ化、配布、およびアプリケーションの携帯性とスケーラビリティを改善するために使用されるLinuxコンテナテクノロジーベースのツールです。 1)DockerBuildおよびDockerrunコマンドを使用して、Dockerコンテナを構築および実行できます。 2)DockerComposeを使用して、マルチコンテナーDockerアプリケーションを定義および実行して、マイクロサービス管理を簡素化します。 3)マルチステージの構造を使用すると、画像サイズを最適化し、アプリケーションの起動速度を向上させることができます。 4)コンテナログの表示は、コンテナの問題をデバッグする効果的な方法です。

Docker Containerの起動手順:コンテナ画像を引く:「Docker Pull [Mirror Name]」を実行します。コンテナの作成:「docker create [options] [mirror name] [コマンドとパラメーター]」を使用します。コンテナを起動します:「docker start [container name or id]」を実行します。コンテナのステータスを確認してください:コンテナが「Docker PS」で実行されていることを確認します。

Dockerログを表示する方法は次のとおりです。たとえば、Docker Logsコマンドを使用します。たとえば、Docker logs container_name docker execコマンドを使用して /bin /shを実行し、logファイルを表示します。 cat /var/log/container_name.log docker-compose -f docker-comのDocker ComposeのDocker-Composeログを使用します。

すべてのコンテナ(Docker PS)をリストする手順に従って、Dockerコンテナ名を照会できます。コンテナリストをフィルタリングします(GREPコマンドを使用)。コンテナ名(「名前」列にあります)を取得します。

Dockerでコンテナを作成します。1。画像を引く:Docker Pull [ミラー名]2。コンテナを作成:Docker Run [Options] [Mirror Name] [コマンド]3。コンテナを起動:Docker Start [Container Name]

Dockerコンテナを終了する4つの方法:コンテナ端子でCtrl Dを使用するコンテナターミナルに出口コマンドを入力しますDocker stop< container_name>コマンドを使用するDocker Kill< container_name>ホストターミナルのコマンド(フォース出口)

Dockerの外部ホストにファイルをコピーする方法:Docker CPコマンドを使用:Docker CP [Options]< Container Path> <ホストパス>。データボリュームの使用:ホストにディレクトリを作成し、-vパラメーターを使用してコンテナを作成するときにディレクトリをコンテナにマウントして、双方向ファイルの同期を実現します。

DockerでMySQLを起動するプロセスは、次の手順で構成されています。MySQLイメージをプルしてコンテナを作成および起動し、ルートユーザーパスワードを設定し、ポート検証接続をマップしてデータベースを作成し、ユーザーはすべての権限をデータベースに付与します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。
