Docker Advent Calender 22日目の記事です。
Dockerfileを書くのってだるいですよね。今日は他人のDockerfileを利用して楽をする方法を紹介します。ちなみに全然大したことしてません。
あるミドルウェアやアプリケーションを使いたい場合、apt-get installやbrew installではなくdocker pull ***でミドルウェアやアプリケーションを立ちあげられるのは"""時代"""を感じさせるのですが、docker repositoryにイメージがない場合ってありますよね。
自分の場合elasticsearchのイメージはあるけど、kuromojiやtwitter-riverのプラグインが最初から入っているイメージはありませんでした。
そこでおすすめなのは既存のdocker imageを再利用して自分好みのdocker imageを作る方法です。
まず、docker repositoryで使えそうなイメージを探します。オフィシャルのイメージはないようですが、elasticsearchのイメージがあったのでそれを利用します。
Dockerfileを見ると、/elasticsearchにインストールされていることがわかりますので、
次のようなDockerfileを書きます。
FROM dockerfile/elasticsearch
# FROMに使いたいイメージを指定する。
RUN /elasticsearch/bin/plugin -install elasticsearch/elasticsearch-analysis-kuromoji/2.2.0
# 好きなコマンドを実行する
あとはdocker buildするだけです。
docker build -t elasticsearch-kuromoji .
まとめ
オフィシャルのDockerfileを読むとこんな技があるのかと役に立つのでお勧めです。
すべてのソフトウェアのdocker imageが公開されて、我々がDockerfileが書かなくて良い未来が来ることを願っています。