前の記事では、Mac上で環境を起動していたが実際はデプロイすることになるのでDockerイメージを作成する。
Dockerfileでビルドする。
Dockerfile
# Elasticsearch server
FROM ubuntu:12.04
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
RUN apt-get update -qq
RUN apt-get upgrade -y
RUN apt-get install -y python-software-properties
RUN add-apt-repository ppa:webupd8team/java -y
RUN apt-get update
RUN echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select true | /usr/bin/debconf-set-selections
RUN apt-get install -y git curl oracle-java7-installer wget
RUN wget -O /tmp/elasticsearch.tar.gz https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.10.tar.gz
RUN cd /tmp && tar xzf /tmp/elasticsearch.tar.gz
RUN rm -rf /tmp/elasticsearch.tar.gz
RUN mv /tmp/elasticsearch-0.90.10 /elasticsearch
WORKDIR /elasticsearch
VOLUME /elasticsearch
EXPOSE 9200
CMD ./bin/elasticsearch -f
このようなDockerfileを書いて、docker build -t="elasticsearch"
とするとDocker Imageが作成される。
起動
Dockerホストの9200番ポートにアタッチして起動
docker run -p 9200:9200 elasticsearch
動的にポートを決定させる
docker run elasticsearch
アタッチされたポートを確認するには、docker ps
とするか、docker inspect $CONTAINER_ID
とする。
Trusted Build
このイメージは、index.docker.ioに登録済みなので、docker run reoring/docker-elasticsearch
とすると立ちあげることができる。