コンテナ テクノロジーの発展により、Docker は現在最も人気のあるコンテナ プラットフォームの 1 つになりました。 Docker は、アプリケーションをより軽量かつクロスプラットフォームにするだけでなく、アプリケーションの移植性と柔軟性も向上します。 Docker は、コンテナーの自動運用、保守、監視を実現するためのツールやコンポーネントも豊富に提供します。この記事では、Docker を使用してコンテナの運用、保守、監視を自動化する方法について詳しく説明します。
前提知識
Docker を使用してコンテナの運用、保守、監視を自動化する方法を学ぶ前に、次の基礎知識を習得する必要があります。
自動化されたコンテナーの運用と保守
#Docker は、コンテナーのライフサイクル管理をより便利かつ効率的にするための、いくつかの自動化された運用と保守方法を提供します。この章では、コンテナの運用とメンテナンスを自動化するために Docker を使用する 3 つの側面を紹介します。
#コンテナが異常な場合、次のことを行うことができます。 Docker が提供する自動再起動機能により、コンテナの実行が停止したときに Docker が自動的にコンテナを再起動します。
docker run --restart always image_name
Docker イメージのバージョンが更新されると、Docker は、新しいバージョンのイメージからコンテナを自動的にプルして起動する自動更新メソッドを提供します。 。
docker run -d --name my_container --restart=always image_name:latest
Docker 独自のコンテナ健全性チェックに加えて、リアルタイムの Docker Stats コマンドなどの Docker 独自の監視ツールも使用できます。コンテナの実行ステータス情報を監視します。
docker stats container_name或者container_id
コンテナ監視
Docker はコンテナを監視するためのツールを提供します。最もよく使用されるツールの 1 つは Prometheus です。これはインジケーターの記録と表示用のオープンソース ツール セットであり、コンテナーの時間を実装できます。シリーズのデータ収集とプレゼンテーション。このセクションでは、Prometheus を使用して Docker コンテナを監視する方法を詳しく紹介します。
まず、Prometheus の公式 Web サイト (https://prometheus.io/download/) から最新のインストール パッケージをダウンロードする必要があります。それを Linux に解凍します。
tar -zxvf prometheus-*.tar.gz cd prometheus-*
次の内容を prometheus.yml ファイルに追加して、Prometheus での Docker 監視を構成します
scrape_configs: - job_name: 'prometheus' scrape_interval: 5s static_configs: - targets: ['localhost:9090']
Prometheus 関連サービス (Docker デーモン、Prometheus) を開始する最も簡単な方法は、Docker Compose を使用することです。以下は、Prometheus および関連サービスを開始するためのサンプル docker-compose.yml ファイルです。
version: '3' services: prometheus: image: prom/prometheus ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml restart: always
次の内容を prometheus.yml ファイルに追加して、Prometheus での Docker 監視を構成します。
scrape_configs: - job_name: 'docker' scrape_interval: 5s static_configs: - targets: ['localhost:9323']
Docker ステータスを Prometheus メトリクスとしてエクスポートするには、Prometheus Exporter を使用する必要があります。以下は docker-compose.yml ファイルの例です。
version: '3' services: prometheus: image: prom/prometheus ports: - "9090:9090" volumes: - ./prometheus.yml:/etc/prometheus/prometheus.yml restart: always prometheus-exporter: image: prom/node-exporter:v0.15.2 command: - '--path.rootfs=/hostfs' ports: - "9323:9323" volumes: - /proc:/hostfs/proc:ro - /sys:/hostfs/sys:ro - /:/hostfs:ro restart: always
Dockerサービスを再起動してPrometheusの監視情報を確認すると、CPUやメモリなどの指標が確認できます。 Docker デーモンのインデックスも同様です。
sudo systemctl daemon-reload sudo systemctl restart docker docker-compose up http://localhost:9090
概要
この記事では、コンテナの自動再起動、コンテナの自動更新、コンテナの自動監視をはじめ、コンテナの自動運用、メンテナンス、監視に Docker を使用する方法を紹介し、その方法について詳しく説明します。 Prometheus を使用して Docker コンテナの実行ステータスを監視します。 Docker を使用すると、コンテナの運用、メンテナンス、監視がより効率的かつシンプルになり、コンテナ化されたアプリケーションをより適切に管理できることがわかりました。
以上がDocker を使用してコンテナの運用、保守、監視を自動化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。