CircleCIでDocker v1.10.0を使う

※ CircleCI v2.0でDockerに完全対応したので、以下の情報は古いです

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

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

shell
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が削除されてしまったのでアレなことになっているみたいです。