OSSの管理ツールDocker Machine、Swarm、Compose、Kitematicの概要とインストール、基本的な使い方:Docker運用管理製品/サービス大全(2)(4/4 ページ)
数多く台頭しているDockerの運用管理に関する製品/サービスの特長、使い方を徹底解説する特集。今回は、Docker社が開発しているDocker Machine、Docker Swarm、Docker Compose、Docker Kitematicの概要と使い方を解説する。
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について解説します。
筆者紹介
澤井健
富山県出身。株式会社NTTデータに入社後、PostgresForestやHinemosの開発、保守、導入支援に携わり、今はHinemosのクラウドへの普及展開を進めている。休日は仕事を離れ、宝塚観劇のため日比谷や兵庫に訪れるなど趣味を満喫している。
- 執筆履歴
Software Design plusシリーズ『Hinemos 統合管理[実践]入門』(共著:技術評論社)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 所要時間わずか10分で「Docker」を体験しよう――Azureで始めるDocker入門
2014年から急速に注目度が増しているコンテナー型仮想化技術「Docker」。すでに多くのLinuxで利用可能な技術ですが、次期Windows Serverでもサポートされる予定です。Dockerとはどのようなものなのか、一度、実際に触って体験してみてはいかがでしょうか。 - Linux/OSSに不慣れでも大丈夫! WindowsでDockerを扱う際のポイント
本連載第31回は「Azureで始めるDocker入門」を掲載しました。掲載後、すぐに「Docker 1.6」がリリースされたので、意図したわけではありませんが、タイムリーな記事になったと思います。今回は、その記事でも紹介した「Docker Client for Windows」をフォローアップします。 - Docker代替のコンテナーランタイム「Rocket」をCoreOSが公開
CoreOSがDocker代替のシンプルなコンテナーランタイムを公開。Dockerの当初の目的であるシンプルなコンテナーを目指すプロトタイプだ。 - Docker、そしてCloud FoundryとPaaSの価値とは
Docker人気を踏まえたとき、Cloud Foundryはどのように位置付けられるのか。PaaSの最終的な価値とは何なのか。AWSとの競合とは。Cloud Foundryの責任者である米PivotalのJames Watters氏に聞いた。 - レッドハットが発表したOpenShift Enterprise 3は「Dockerを知らなくても使える」基盤
レッドハットが2015年7月22日に国内発表したPaaS製品「OpenShift Enterprise 3」の最大の狙いは、Dockerを知らなくてもアプリケーションの開発・運用ができるようにすることだという。ここでは、レッドハットの日本法人の説明に基づき、OpenShift Enterprise 3を紹介する。 - 米グーグルのDockerコンテナ管理サービスが一般提供開始
米グーグルがGoogle Cloud Platform上で提供しているDockerコンテナオーケストレーション/管理サービス、Google Container Engineが2015年8月26日、ベータ段階を終了、一般提供が開始された。毎週20億以上のコンテナを立ち上げているグーグルの経験に基づくサービスだとしている。