追記
さらに新しいバージョンきてた。
きっかけ
@minodisk 突然失礼します。今日公開された docker-1.9 を使う前提ですが、いまのことろ、https://t.co/ALENbOAoat こういう方法になると思います。
— mapk0y (@mapk0y) 2015, 11月 4
Docker1.9では、ビルド時にDockerfileから参照可能な引数を渡せるようになったと。 @mapk0y さんに示して頂いたIssueがまさにやりたいことだった。あと1.9リリース当日でタイムリーすぎ。
Dockerビルド時に引数を指定する
Dockerfile
ARG foo
ENV bar=$foo
RUN echo $bar
docker build --build-arg foo=xxxxx .
すると、コンテナ内で$bar
にxxxxx
が設定されていることが確認できる。
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
1.9.0きた
特にCIの稼働時間が増えた感じしないしカジュアルに使えそう。