docker
DockerDay 22

他人のDockerfileを再利用して楽をする

More than 3 years have passed since last update.

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が書かなくて良い未来が来ることを願っています。