ホームページ 運用・保守 Linuxの運用と保守 Linux での Docker: コンテナーのテストと監視を自動化するには?

Linux での Docker: コンテナーのテストと監視を自動化するには?

Jul 30, 2023 pm 07:34 PM
docker 自動テスト モニター

Linux 上の Docker: コンテナーの自動テストと監視を実行するにはどうすればよいですか?

コンテナ テクノロジーの急速な発展により、Docker は最も人気のあるコンテナ化プラットフォームの 1 つになりました。アプリケーションのデプロイと管理に Docker を使用するプロセスでは、コンテナの自動テストと監視が特に重要です。この記事では、Linux で Docker を使用してコンテナーのテストと監視を自動化する方法を紹介し、対応するコード例を示します。

1. Docker 自動テスト

  1. Dockerfile の作成
    まず、テストするアプリケーションの Dockerfile を作成する必要があります。 Dockerfile は、Docker イメージを構築するための一連の手順が含まれるテキスト ファイルです。以下は簡単な Dockerfile の例です:
FROM python:3.8-alpine

WORKDIR /app

COPY requirements.txt ./ 
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD [ "python", "./app.py" ]
ログイン後にコピー

上記の Dockerfile は Python ベースのアプリケーション用に作成され、最初に python:3.8-alpine イメージに基づいて新しいイメージを構築します。 。次に、作業ディレクトリを /app に設定し、アプリケーションに必要な依存関係ファイル requirements.txt をコンテナーにコピーし、依存関係をインストールします。次に、現在のディレクトリ内のすべてのファイルをコンテナにコピーし、CMD ディレクティブを通じてコン​​テナの起動時に実行するコマンドを指定します。

  1. コンテナの構築と実行
    Dockerfile の作成が完了したら、次に示すように、docker build コマンドを使用して Docker イメージを構築できます。 #
    $ docker build -t myapp:latest .
    ログイン後にコピー
  2. 上記のコマンドは、現在のディレクトリ内の Dockerfile に基づいて
myapp

という名前の最新バージョンのイメージを構築します。 次に、

docker run

コマンドを使用してコンテナを実行し、以下に示すように、対応するポート マッピングとその他の構成を指定します。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>$ docker run -d -p 8080:8080 --name myapp-container myapp:latest</pre><div class="contentsignin">ログイン後にコピー</div></div>上記のコマンドは、

myapp-container

コンテナという名前のコンテナを作成し、コンテナ内の 8080 ポートをホストの 8080 ポートにマップします。

自動テスト スクリプトを作成する
    自動テストを実行するには、対応するテスト スクリプトを作成する必要があります。 Python を例に挙げると、
  1. unittest
    モジュールを使用してテスト ケースを作成できます。以下に簡単な例を示します。
    import unittest
    import requests
    
    class TestApp(unittest.TestCase):
        def setUp(self):
            self.url = 'http://localhost:8080/'
    
        def tearDown(self):
            pass
    
        def test_hello(self):
            response = requests.get(self.url + 'hello')
            self.assertEqual(response.status_code, 200)
            self.assertEqual(response.text, 'Hello, world!')
    
    if __name__ == '__main__':
        unittest.main()
    ログイン後にコピー
  2. 上記の例では、
setUp

メソッドを使用してテスト環境を初期化し、tearDown メソッドを使用します。テスト環境をクリーンアップするために使用されます。 test_hello メソッドは、requests ライブラリを使用して HTTP リクエストを送信し、返された結果が期待を満たしているかどうかを判断するためのアサーションを行う特定のテスト ケースです。

自動テストの実行
    テスト スクリプトの作成が完了したら、ホスト上でテスト スクリプトを実行することで、コンテナ上で自動テストを実行できます。テスト スクリプトが
  1. test_app.py
    として保存されていると仮定すると、次のコマンドを使用してテスト スクリプトを実行できます:
    $ python test_app.py
    ログイン後にコピー
  2. 2. Docker 監視

Prometheus 監視を使用する
    Prometheus は、Docker エコシステムで広く使用されているオープンソース監視システムです。 Prometheus は、時系列データを収集および保存し、柔軟なクエリおよび視覚化機能を提供することで、コンテナ監視を強力にサポートします。

  1. まず、Prometheus をコンテナにインストールして構成する必要があります。これは、Dockerfile に対応する命令を追加することで実現できます。具体的な手順は次のとおりです:

Prometheus をダウンロードしてインストールする
  • FROM prom/prometheus:v2.26.0
    
    COPY prometheus.yml /etc/prometheus/
    ログイン後にコピー
Prometheus 構成を作成するfile
    prometheus.yml
  • global:
      scrape_interval: 5s
    
    scrape_configs:
      - job_name: 'myapp'
        static_configs:
          - targets: ['myapp-container:8080']
    ログイン後にコピー
  • 上記の設定ファイルでは、
scrape_interval

でデータ収集の間隔を指定し、scrape_configs でデータ収集の間隔を定義します。監視対象。

Prometheus コンテナの起動
    Dockerfile と構成ファイルの作成が完了したら、次に示すように、
  1. docker run
    コマンドを使用して Prometheus コンテナを起動できます。
    $ docker run -d -p 9090:9090 -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml --name prometheus prom/prometheus:v2.26.0
    ログイン後にコピー
    上記のコマンドは、prometheus

    という名前のコンテナを実行し、コンテナ内の 9090 ポートをホストの 9090 ポートにマップし、prometheus.yml をマウントします。ホスト上の ファイルをコンテナーに追加します。

    Prometheus Web インターフェイスにアクセスする
      Prometheus コンテナの起動が完了したら、ブラウザ。このインターフェイスでは、PromQL クエリ言語を通じてデータをクエリし、視覚化できます。

    1. 概要
    2. この記事では、Linux で Docker を使用してコンテナーのテストと監視を自動化する方法を紹介します。自動テストを実行する場合は、Dockerfile を作成し、コンテナーを構築して実行し、テスト用に対応するテスト スクリプトを作成する必要があります。コンテナーを監視する場合、Prometheus を使用して時系列データを収集および保存し、クエリと視覚化に PromQL を使用できます。上記の方法により、Docker コンテナをより適切に管理および監視し、アプリケーションの安定性と信頼性を確保できます。

    参考資料:

    Docker 公式ドキュメント: https://docs.docker.com/

    Prometheus 公式ドキュメント: https://prometheus.io/ docs /

    以上がLinux での Docker: コンテナーのテストと監視を自動化するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Dockerによってコンテナを出る方法 Dockerによってコンテナを出る方法 Apr 15, 2025 pm 12:15 PM

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

Dockerのファイルを外部にコピーする方法 Dockerのファイルを外部にコピーする方法 Apr 15, 2025 pm 12:12 PM

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

Dockerコンテナの名前を確認する方法 Dockerコンテナの名前を確認する方法 Apr 15, 2025 pm 12:21 PM

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

Dockerを再起動する方法 Dockerを再起動する方法 Apr 15, 2025 pm 12:06 PM

Dockerコンテナを再起動する方法:コンテナID(Docker PS)を取得します。コンテナを停止します(docker stop&lt; container_id&gt;);コンテナを起動します(docker start&lt; container_id&gt;);再起動が成功していることを確認します(Docker PS)。その他の方法:Docker Compose(Docker-Compose Restart)またはDocker API(Dockerドキュメントを参照)。

DockerによるMySQLを開始する方法 DockerによるMySQLを開始する方法 Apr 15, 2025 pm 12:09 PM

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

Dockerの画像を更新する方法 Dockerの画像を更新する方法 Apr 15, 2025 pm 12:03 PM

Docker画像を更新する手順は次のとおりです。最新の画像タグ新しい画像をプルする新しい画像は、特定のタグのために古い画像を削除します(オプション)コンテナを再起動します(必要に応じて)

Dockerプロセスを表示する方法 Dockerプロセスを表示する方法 Apr 15, 2025 am 11:48 AM

Dockerプロセス表示方法:1。DockerCLIコマンド:Docker PS; 2。SystemDCLIコマンド:SystemCTL Status Docker; 3。CLIコマンドを作成するDocker:Docker-Compose PS。 4。プロセスエクスプローラー(Windows); 5。 /procディレクトリ(Linux)。

中国のDocker画像ソースを変更する方法 中国のDocker画像ソースを変更する方法 Apr 15, 2025 am 11:30 AM

国内のミラーソースに切り替えることができます。手順は次のとおりです。1。構成ファイル/etc/docker/daemon.jsonを編集し、ミラーソースアドレスを追加します。 2。保存して終了した後、Docker Service Sudo SystemCtlを再起動してDockerを再起動して、画像のダウンロード速度と安定性を改善します。

See all articles