使用Docker部署Elasticsearch
在之前的文章中,我们在Mac上启动了环境,但实际上需要部署,因此我们需要创建一个Docker镜像。
使用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镜像。
启动
附加到Docker主机的9200端口并启动。
docker run -p 9200:9200 elasticsearch
动态决定端口
docker run elasticsearch
要检查附加的端口,请执行docker ps命令或docker inspect $CONTAINER_ID命令。
值得信赖的构建
由于这个映像已经在index.docker.io上注册,所以可以通过docker run reoring/docker-elasticsearch命令进行启动。
GitHub 存储库