というので、昨日ちょっとはまった。
というのもDocker Compose(のyaml)は1.6から記述方法がちょっと違います。もちろん、いまのところ下位互換はあるけども…

今まで1.6以上の記述に従ってdocker-compose.ymlを書いてました。
いざ、別環境でビルドしようと思うと、ビルドできない…
原因はビルドしようとしていた環境でのDocker Compose1.5.2だったのに対して、テストでビルドしていた環境のDocker Compose1.8.0でした。

「あっれ~おっかしいな~OSのバージョンも一緒だし…apt-getしてインストールされる最新は1.5.2だし…」という状況でした。
ちなみにOSはUbuntu 16.04です。

最新をインストールする


以下の公式ドキュメントの通り、GitHubからcurlで最新のバージョンを落とす必要があります。

Install Docker Compose

要するに、私はテスト環境にインストールしたときは上述の手順でインストールしていて、別環境ではそれをすっかり忘れてapt-getでインストールしようとしていたわけですね。

その他


公式ドキュメント(以下)にある通りDocker compose 1.6以降で使える項目が違ったりするので、いまからやるなら最新をインストールして新しい記述でやったほうがいいでしょう。

Compose file reference

ちなみに、前述の通り2016/10/18時点でUbuntu 16.04のパッケージのリポジトリで配信されているDocker Compose1.5.2です。