CircleCI
Docker

CircleCIでDocker v1.9.0を使う方法

More than 3 years have passed since last update.


追記

さらに新しいバージョンきてた。


きっかけ

Docker1.9では、ビルド時にDockerfileから参照可能な引数を渡せるようになったと。 @mapk0y さんに示して頂いたIssueがまさにやりたいことだった。あと1.9リリース当日でタイムリーすぎ。


Dockerビルド時に引数を指定する


Dockerfile

ARG foo

ENV bar=$foo
RUN echo $bar

docker build --build-arg foo=xxxxx .すると、コンテナ内で$barxxxxxが設定されていることが確認できる。

Sending build context to Docker daemon 7.168 kB

Step 1 : FROM debian
---> 6845b83c79fb
Step 2 : ARG foo
---> Running in 59fed192a17e
---> 4f7e91ce9e9b
Removing intermediate container 59fed192a17e
Step 3 : ENV bar $foo
---> Running in 289eaf6ed19f
---> c991661660b9
Removing intermediate container 289eaf6ed19f
Step 4 : RUN echo $bar
---> Running in bb54ee586350
xxxxx
---> 942f499a52b2
Removing intermediate container bb54ee586350
Successfully built 942f499a52b2


CircleCIでDocker1.9を使う

現状、CircleCIのDockerは1.8なんだけど1.9を使いたいので用意があるか聞いてみたら、Betaだけどあるとのこと。


circle.yml

machine:

pre:
- sudo curl -L -o /usr/bin/docker 'https://s3-external-1.amazonaws.com/circle-downloads/docker-1.9.0-circleci'
- sudo chmod 0755 /usr/bin/docker
services:
- docker
test:
override:
- docker -v

スクリーンショット 2015-11-11 11.59.17.png

:confetti_ball: 1.9.0きた :confetti_ball:

特にCIの稼働時間が増えた感じしないしカジュアルに使えそう。


参考