Dockerエコシステムについて調べてみた

  • このエントリーをはてなブックマークに追加

はじめに

Dockerを調べてみたの続き。
Dockerを試したときにDockerを支えるエコシステムの用語がたくさんでてきたのでまとめてみました。

参考

Docker/Kubernetes 実践コンテナ開発入門

実践的でわかりやすかったです。詳細はこちらをみてください。

シングルホスト環境でのコンテナ管理

Docker Compose

複数コンテナを実行を一括で管理する。シングルホストホスト環境で用いる

マルチホスト環境でのコンテナ管理

コンテナオーケストレーションツール

マルチホスト環境においてコンテナを統合できるツールのこと。Docker Swarmkubernetsなどがある。マルチホスト環境の場合は通常コンテナオーケストレーションツールを用いてコンテンを管理する

Docker Swarm

複数のDockerホストを束ねてクラスタ化するためのツール。かつては独立したツールだったが、現在はDocker本体に組み込まれている。有効化すれば使用できる

kubernets(クーバーネティス)

  • GoogleがOSSとして公開
  • DockerSwarmより機能が充実

クラウド

Amazon EKSやGKE

  • パブリッククラウドが提供するkubernetsをサポートしているマネージド・サービス
  • kubernetesを便利な機能、GUIなどでラップしてより使いやすくしているイメージ??
  • Master管理やメンテナンスはサービス側によって管理
  • GKEは最も利用されているマネージド・サービス

オンプレ環境 

kubespray

  • オンプレ環境でkubernetesクラスタを構築するツール
  • マスターサーバ、作業用サーバ、ノードサーバなど、ホストが複数必要

補足

DockerMachine

どこでもコマンド一つでDockerの実行環境を構築できるコマンドラインツール。aws,Azure,GCE,VMwareなどの様々な環境に対応している。マルチホスト環境で用いる。

まとめ

kubernatesを本番環境で使うときは運用で楽ができるGKEのようなクラウドを使ったほうがよいかと思いました。クリティカルなサービスではない場合はオンプレ環境でシングルホストでDockerComposeを使えば本番環境でも運用できそうです。