CircleCIでDocker v1.10.0を使う

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

CircleCIに入ってるDocker、ちょっとバージョンが古いみたいでdocker runとかdocker pullとかするとhub.docker.comではなくdocker.ioに見に行ってしまいます。

で、docker.ioはすでに廃止されているのでdocker.comにリダイレクトされ、docker.comの下に指定したimageがあるかどうか確認してしまうので、下記のようなエラーになってしまいます。

Pulling repository docker.io/yshrsmz/docker-whale  
Tag latest not found in repository docker.io/yshrsmz/docker-whale  

で、どうにか新しいDocker使いたいな〜と思っていろいろ試してたら、公式フォーラムで発見しました。

Docker 1.10.0 is available(Beta)

記事自体は2016年2月のもので、これを書いてる時点でもう9ヶ月前です。
ただ、現状これより新しいものは見当たらないのでCircleCIで使えるDockerは2016年11月現在v1.10.0が最新のようです。

circle.yml的にはこんな感じ

machine:  
  pre:
    - curl -sSL https://s3.amazonaws.com/circle-downloads/install-circleci-docker.sh | bash -s -- 1.10.0
  services:
    - docker 

パラメータでバージョン指定してるから1.12.3とか指定したら新しいの使えるかな…?って思ったら無理でした。ファイル見たら1.10.0の分岐しかなかったです。

CircleCIではDockerにパッチを当てて使っているようですが、v1.10.0で使っていたLXC exec driverが削除されてしまったのでアレなことになっているみたいです。