本投稿は、﹁Announcing Docker 1.9: Production-ready Swarm and Multi-host Networking﹂の参考日本語訳です。
■ Docker 1.9 発表‥Swarm とマルチホスト・ネットワーキングのプロダクション対応
今日、私達は Docker 1.0 を発表します。これはとても大きなものです。Docker Swarm とマルチホスト・ネットワーキングはプロダクション︵訳注‥実サービス・本番向けの意味︶対応となりました。Docker Engine は新しいボリューム管理システムを持ち、Docker Compose は複数の環境をよりよくサポートします。これはアプリケーションをプロダクションでスケールするための基礎を構成するものです。 コンテナ化は、インフラの構築のしかたを変えつつあり、作業にあたっては正しいツールを使う必要があります。Docker Swarm はアプリケーションを配信して実行するために、インフラを1つのリソース・プールに変えます。しかし、これらアプリケーションの一部である全てのコンテナを、なんとか管理する必要があります。そして、データをどこかに保管しておく必要もあるでしょう。コンテナの世界、つまりインフラのあらゆるホスト上の実行環境において、管理することは非常に難しいものです。 言うまでもありませんが、私達は既にこれをカバーしています。Docker ネットワーキングはホスト下にまたがる仮想ネットワークを作成します。そのため、どのホストにコンテナがいようとも、お互いが通信可能になります。Docker エンジン︵訳者注‥docker デーモンのこと︶の新しい管理システムにより、コンテナがどこにあろうとも、一貫性のあるデータを保管できます。これらの基礎の上に、Compose を使って重要な部分、つまりアプリケーションを実行できます。■ マルチホスト・ネットワーキング(Mult-host Networking)
6月に開催した DockerCon では、ネットワーク機能は実験的リリースの一部でした。Docker エンジンにおいて、ネットワーク機能が安定リリース︵stable release︶になり、プロダクションで利用可能であると発表できることを嬉しく思います。 ネットワーク機能は Docker エンジンを使い、複数のホストにまたがる仮想ネットワークを作成できます。コンテナはこれらのネットワークのどこでも接続できます。そして、ネットワークのトポロジ︵接続形態︶を越えて、どのコンテナがどこと通信するのかを、完全に管理できます。それだけではありません。システムの原動力となるネットワークはプラグインによって入れ替え可能です。これにより、アプリケーションを変更しなくても、あらゆるネットワーク・システムを統合することができます。 詳細はネットワーク機能に関するブログ投稿︵リンク先は参考和訳︶をお読みください。また、ネットワーク機能に特化したオンライン・ミートアップも開催します。開発エンジニアによる発表が聞けるものです。■永続的なストレージ(Persistent Storage)
私達は皆さんから、配信したアプリ上で永続的にデータを保管するのに苦労していると、何度も何度も伺っていました。Docker 1.8 から含まれるボリューム・プラグインにより、何らかのサード・パーティ製のストレージ・システムで Docker ボリュームを扱えるようになりました。 私達はこれを更に良いものにしました。Docker エンジン 1.9 ではボリューム・システムを全て再設計しました。これにより、最前線でプラグインを使うのを、より簡単にしました。Swarm と連携することで、クラスタ全体における永続的なストレージを管理します。 以下は Flocker プラグインの使い方です‥$ docker volume create -d flocker --name=myvolume $ docker run -v myvolume:/data busybox sh -c "echo hello > /data/file.txt" $ docker run -v myvolume:/data busybox sh -c "cat /data/file.txt"ほかにも Blockbridge、Ceph、ClusterHQ、EMC、Portworx といったドライバが利用可能です。詳細はボリュームのドキュメントや、ボリューム・プラグインのドキュメントをご覧ください。