Ubuntu 16.04でdryを使用してDockerコンテナを管理および監視する方法

前書き

画像:https://i.imgur.com/5uQQNAa.gif [ドライモニタリングGIF]

dryは、https://www.digitalocean.com/community/tutorials/the-docker-ecosystem-an-introduction-とやり取りするために構築されたシンプルだが広範なターミナルアプリケーションです。 to-common-components [Docker]コンテナとその画像。 dryを使用すると、ルーチンhttps://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-16-04[Docker Engineコマンド]を実行するときに伴う繰り返しが削除されます。ネイティブDocker CLIのより視覚的な代替手段を提供します。

dryは、コンテナをすばやく起動および停止し、Dockerイメージを安全にまたは強制的に削除し、リアルタイムのコンテナプロセスを継続的に監視し、Dockerの + info ++ inspect ++ history +、および ` + log + `コマンド。

公式のDocker Engine CLIを介して実行できるほとんどのコマンドは、同じ動作と結果で、ドライでより簡単に使用できます。 dryにはさらにDocker Swarm機能があり、マルチホストコンテナーのセットアップを監視および管理するためのアウトレットを提供します。

このチュートリアルでは、dryをインストールし、その最も便利な機能のいくつかを調べます。

  • Dockerコンテナー、画像、およびネットワークとの対話、

  • Dockerコンテナーの監視、および

  • オプションで、Docker Swarmのノードおよびサービスと対話します。

前提条件

このチュートリアルを実行するには、次のものが必要です。

  • Ubuntu 16.04の初期サーバーセットアップを使用してセットアップされた1つのUbuntu 16.04サーバー(sudo非ルートを含む)ユーザーとファイアウォール。

  • Ubuntu 16.04にDockerをインストールして使用する方法のように、Dockerがインストールされました。

  • いくつかのアクティブなDockerコンテナがネットワークを構築して、テストを行いました。

  • このチュートリアルの例として、https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-andのWordPressとPHPMyAdminのセットアップ(ドキュメントルートのオプションのステップなし)を使用します。 -phpmyadmin-with-docker-compose-on-ubuntu-14-04 [Ubuntu 14.04でDocker Composeを使用してWordpressとPhpMyAdminをインストールする方法]。

  • または、独自の既存のコンテナ設定を使用できます。

  • オプションで、ローカルコンピューター上のDocker MachineおよびDocker Swarmを使用するDockerセットアップ。 これは、最後のステップでドライのSwarm機能を試す場合に必要です。 これは、https://www.digitalocean.com/community/tutorials/how-to-provision-and-manage-remote-docker-hosts-with-docker-machine-on-ubuntu-16-04に従って設定できます。 [Ubuntu 16.04のDockerマシンでリモートDockerホストをプロビジョニングおよび管理する方法]およびhttps://www.digitalocean.com/community/tutorials/how-to-create-a-cluster-of-docker-containers-with-docker -swarm-and-digitalocean-on-ubuntu-16-04 [Ubuntu 16.04でDocker SwarmとDigitalOceanを使用してDockerコンテナのクラスターを作成する方法]。

ステップ1-ドライのインストール

まず、Dockerサーバーにdryをインストールする必要があります。 ドライバイナリの最新バージョンは、https://github.com/moncho/dry/releases [dryのGitHubリリースページ]で入手できます。

最新バージョンの `+ dry-linux-amd64 `バイナリをダウンロードします。これは公開時に ` v0.9-beta.3 +`です。

wget https://github.com/moncho/dry/releases/download//dry-linux-amd64

次に、新しいバイナリファイルを `+ dry-linux-amd64 `から ` / usr / local / bin / dry +`に移動して名前を変更します。

sudo mv dry-linux-amd64 /usr/local/bin/dry

+ / usr / local / bin +`は、サーバーのローカルプログラムのバイナリを格納するために使用される標準の場所です。 ドライバイナリをそのディレクトリに移動すると、そのディレクトリがシェルのhttps://www.digitalocean.com/community/tutorials/how-to-に含まれているため、サーバー内のどこからでもコマンドラインでdryを呼び出すことができます。 linux-vps上の環境変数とシェル変数の読み取りと設定[+ $ PATH +`環境変数]。

実行を許可するために、 `+ chmod`でバイナリパーミッションを変更します。

sudo chmod 755 /usr/local/bin/dry

`+ -v `オプションを指定してプログラムを実行することにより、 ` dry +`がアクセス可能で正常に動作することをテストできます。

dry -v

これにより、バージョン番号とビルドの詳細が返されます。

Version Details Outputdry version 0.9-beta.2, build d4d7a789

ドライがセットアップされたので、使用してみましょう。

ステップ2-Dockerコンテナーとの対話

ドライを実行して、端末にダッシュボードを表示します。

dry

ダッシュボードの上部には、Dockerバージョン、Docker Engine APIバージョン、サーバーがDocker Swarm対応ワーカー/マネージャーノードであるかどうか、サーバーのホスト名とリソースなど、サーバーとDockerソフトウェアに関する情報があります。

ダッシュボードの下部には、ドライのさまざまな部分にアクセスするために使用できるナビゲーションキーの参照があります。

Navigation key options[H]:Help [Q]:Quit | [F1]:Sort [F2]:Toggle Show Containers [F5]:Refresh [%]:Filter |
[m]:Monitor mode [2]:Images [3]:Networks [4]:Nodes [5]:Services | [Enter]:Commands

このダッシュボード自体は、最初に乾燥を開始したときのデフォルトの `+ Containers +`リストになります。 このビューでは、ホストのコンテナの一般的な状態を確認できます。

前提条件チュートリアルのサンプルWordpress、MariaDB、およびPHPMyAdminコンテナースタックを使用している場合、これら3つの新しく構成されたコンテナーが一覧表示されます。

画像:https://i.imgur.com/Wjd4PWh.png [ドライダッシュボード画像]

キーボードの上矢印と下矢印を使用してWordpressコンテナーを選択し、「+ ENTER +」を押します。

これにより、ポートマッピング、ネットワークリンク、ネットワークコンテナーIPアドレスなど、コンテナーに関する情報が画面上部に表示されます。

Wordpress Container Statistics  Container Name:  wordpress_wordpress_1                    ID:       f67f9914b57e       Status:  Up 13 minutes
 Image:           wordpress                                Created:  About an hour ago
 Command:         docker-entrypoint.sh apache2-foreground
 Port mapping:    0.0.0.0:8080->80/tcp
 Network Name:    bridge
 IP Address:     172.17.0.3
 Labels           6

コンテナを選択すると、画面の中央下にも選択可能なオプションの新しいリストが表示されます。

  • + Fetch logs +。これは、Docker Engineコマンドhttps://docs.docker.com/engine/reference/commandline/logs/[`+docker logs + `]と同等です。 これは、コンテナ内のエラーのデバッグとトラブルシューティングに役立ちます。

  • 「+ Kill container in」。コンテナが応答せず、期待どおりにエキサイティングでない場合に使用できます。

  • + Remove container in:不要なコンテナをきれいに削除するために使用できます。

  • + Inspect container +。これはhttps://docs.docker.com/engine/reference/commandline/container_inspect/[`+docker container inspect + `]と同等です。

  • + Restart +。コンテナを停止して再起動します。 Docker Engineコマンドhttps://docs.docker.com/engine/reference/commandline/restart/ [再起動]またはhttps://docs.docker.com/engine/reference/commandline/ps/を入力するよりもはるかに高速です。コンテナの[ステータスのクエリ]。

  • + Show image history +:コンテナの画像を作成するために使用されたコマンドをリストします。 これらの「レイヤー」は、イメージのビルドプロセス中に生成され、https://www.digitalocean.com/community/tutorials/docker-explained-using-dockerfiles-to-automate-building-of-で提供されるコマンド/アクションの結果です画像[Dockerfile]。 このオプションを使用すると、ベースDockerイメージを使用してコンテナーが正確に生成されたことがわかります。

  • 「+ Stats + Top 」。CPU使用率、メモリ消費、インバウンドおよびアウトバウンドのネットワークトラフィック、ファイルシステム操作、プロセスIDの合計、コンテナの全体的なアップタイムなどの情報が含まれます。 また、プロセスリストも含まれています。これは、https://www.digitalocean.com/community/tutorials/how-to-monitor-cpu-use-on-digitalocean-droplets#top [` top +の出力と機能的に同じです。 `]。

  • コンテナを停止する「+ Stop 」。 「 F2 」を使用して「 Containers 」ビューのコンテナーを切り替えて「 currently stopped and active 」を含めたり、選択した後に「 Restart +」オプションで停止したコンテナーを再起動したりできます。

+ ESC`キーを押して、ダッシュボードのルートの + Containers`セクションに戻ります。 ここから、 `+ Images`セクションを見ていきます。

ステップ3-Dockerイメージとの対話

`+ Containers `セクションから ` 2 `を押して、dryの ` Images +`セクションにアクセスします。

image:https://i.imgur.com/18pFgHi.png [画像セクション]

このセクションでは、https://docs.docker.com/engine/reference/commandline/image_inspect/ [+ docker image inspect + command]に簡単にアクセスできます。 dryには便利なキーボードショートカットもあり、ナビゲーションバーで確認できます。

  • 「ダングリングの削除」の「+ CTRL + D 」、「ダングリングボリューム」は、どのコンテナからも参照されなくなったため、冗長な他のコンテナボリュームを指します。 通常、Dockerのコマンドラインでは、この操作には「 docker volume rm 」コマンドと「 dangling = true +」フラグ、およびターゲットデータボリュームが含まれます。

  • +docker rmi + `と同等の

前の投稿:FreeBSD 10.1にMongoDBをインストールする方法
次の投稿:Ubuntu 18.04でAnsibleを使用してサーバーのセットアップを自動化する方法