連載
» 2015年10月09日 05時00分 公開

Docker運用管理製品/サービス大全(2):OSSの管理ツールDocker Machine、Swarm、Compose、Kitematicの概要とインストール、基本的な使い方 (4/4)

[澤井健,株式会社NTTデータ]
前のページへ 1|2|3|4       

Docker Swarm、Composeのさまざまな機能を試す

 ここからは、構築した環境を使ってさまざまな機能を試してみます。

Docker Swarmによるリソース監視

 Docker Swarmは予約済みのリソースを監視する機能を持っています。

 まず、下記のようにCPUとメモリを予約済みにするdocker-compose.ymlを作成します。

redis:
  image: redis
  cpu_shares: 1
  mem_limit: 128m
  ports:
   - 6379

 上記のコンテナーを起動させます。

docker-compose up

 docker infoコマンドでリソースの確認を行います。

Docker Composeのコンテナー停止時の自動復旧を試す

 まず、redisコンテナーを多重度2で動作させます。

 次に、dmec2masterのサーバーにログインします。

docker-machine ssh dmec2master

 続いて、dmec2masterサーバー上でredis-serverのプロセスをkillします。

ps -ef | grep redis
kill -9 30322

 下図は実行結果です。

 CTRL-DコマンドでローカルのLinux環境に戻り、dockerコマンドでコンテナーのプロセスがなくなっていることを確認します。

 docker-composeコマンドでコンテナーのプロセスのステータスが「Exit」であることを確認します。

 この状態で1時間ほど放置しましたが、コンテナープロセスが自動復旧することはありませんでした

 docker-composeコマンドでコンテナーを再起動します。

docker-compose start
docker-compose ps

 下図は実行結果です。

Docker ComposeのMasterホストを停止すると、どうなるのか

 まず、Docker Machineコマンドで作成したSwarm環境のMasterサーバーを停止させます。

 次に、Docker MachineコマンドでSwarm環境を確認します。

 続いて、dockerコマンドを実行しようとするとタイムアウトが発生します。

 docker-composeコマンドを実行しようとするとタイムアウトします。

 dmec2node1にログインします。

docker-machine ssh dmec2node1

 dmec2node1上でdocker psを実行します。

 dmec2node1上ではコンテナーが正常に動いていることを確認しました。

次回は、グーグルが開発するKubernetes、flannel、cAdvisorについて

 今回は、Docker社が開発するOSSの運用管理ツールを紹介しましたが、いかがでしたでしょうか。Kubernetesに比べるとコンテナーに対する機能は少ないですが、ホストに対する操作コマンドがあります。また、管理サーバーからホストのCPU/メモリの情報を取得可能です。

 次回は、グーグルが開発するOSSの運用管理ツールKubernetes、flannel、cAdvisorについて解説します。

特集:Docker運用管理製品/サービス大全

数多く台頭しているDockerの運用管理に関する製品/サービスの特長、使い方を徹底解説する特集。



筆者紹介

澤井健

富山県出身。株式会社NTTデータに入社後、PostgresForestやHinemosの開発、保守、導入支援に携わり、今はHinemosのクラウドへの普及展開を進めている。休日は仕事を離れ、宝塚観劇のため日比谷や兵庫に訪れるなど趣味を満喫している。

  • 執筆履歴

Software Design plusシリーズ『Hinemos 統合管理[実践]入門』(共著:技術評論社)


前のページへ 1|2|3|4       

Copyright © ITmedia, Inc. All Rights Reserved.

編集部からのお知らせ

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。