参考訳:Compose 1.6: ネットワークとボリュームを定義する新しい Compose ファイル

参考訳:Compose 1.6: ネットワークとボリュームを定義する新しい Compose ファイル はてなブックマーク - 参考訳:Compose 1.6: ネットワークとボリュームを定義する新しい Compose ファイル


もう1つ、Compose 1.6 の記事がありましたので、こちらも参考程度にどうぞ。

■ Compose 1.6: ネットワークとボリュームを定義する新しい Compose ファイル

ネットワークとボリュームを管理するための全く新しいシステムを、Docker Engine の前バージョンで導入しました。そして、これらの機能を Docker Compose で完全にサポートすると発表できるのを嬉しく思います。

Compose ファイルは、たった1つのもの、つまりサービスを指定するために使います。サービスとは、分散アプリケーションを構成するものです。今回から新たにネットワークとボリュームも一緒に使えるようになりました。これにより、より複雑なアプリケーションの記述が可能になりました。自分の開発マシン上に、複数のネットワーク層や複雑なストレージ設定を用いるアプリケーションをセットアップできます。同じように本番環境(プロダクション)にも環境を複製できるでしょう。開発環境と同じ設定ファイルを使い、アプリケーションを CI 環境、 ステージング、適切なプロダクション環境で使えるようになるのです。

ネットワークとボリュームを実装するにあたり、これらを Compose ファイルのトップレベルのオブジェクトにしました。これまで Compose ファイル中で扱ってきた設定は、新しい「service」キー配下で用いられます。

新しいフォーマットが強力だということを想像するために、複数のネットワーク層と Flocker にボリュームを補完するサンプル・アプリケーションを見てみましょう。

services:
  web:
    image: myapp
    networks:
      - front
      - back
  redis:
    image: redis
    volumes:
      - redis-data:/var/lib/redis
    networks:
      - back

volumes:
  redis-data:
    driver: flocker

networks:
  front:
    driver: overlay
  back:
    driver: overlay

新しい可能性に対する想像力をスパークさせることを願っています! ここで実行するサンプルに関する詳細な解説は GitHub レポジトリをご確認ください

既存のアプリケーションを新しいフォーマットに変更するのは非常に簡単です。ほとんどの場合、「version: “2”」と「services:」の各行を設定ファイルの冒頭に追加するだけですが、いくつかの注意点が存在します。そのため、実行時に注意すべき命令に関してご確認ください。新しい形式に移行しなくても問題ありません。Compose 1.6 は古い形式のフォーマットでも、十分動作します。

新しい Compose ファイルだけでなく、今回のリリースで多くの機能も追加されました。

* 開発環境の構築をより速く:「build: ./code」のように構築用ディレクトリを指定すると同時に、「image: myusername/webapp」のようにイメージも指定できます。つまり、「docker-compose build」でイメージを構築できるだけでなく、あるいは「docker-compose pull」を使い、レジストリからイメージを取得して迅速に構築できます。これにより開発環境を迅速に構築するために、ローカルでイメージを構築するのに待つのではなく、構築済みのイメージを利用できます。
* 「docker-compose events」:Engine 上のアプリケーションにイベントをストリームする(流す)新しいコマンドです。コンテナの開始や停止のような、イベントの反応をブロック化するツールとして使えます。
* 構築時の引数(build arguments):Compose ファイルを使って構築する場合のため、引数を指定できます。

新機能の詳細すべてについてはリリースノートをご確認ください。Compose のインストールやアップロードが一番簡単なのは、Docker Toolbox を使うことです。

■ Docker Compose ファイルの新バージョンに関する動画

Docker Compose Files Version 2
https://www.youtube.com/watch?v=EReEOMS7gsk

■ 原文

Compose 1.6: New Compose file for defining networks and volumes | Docker Blog
https://blog.docker.com/2016/02/compose-1-6/