From: W. Trevor King Date: Fri, 13 Dec 2013 04:30:44 +0000 (-0800) Subject: elasticsearch: Add Elasticsearch container instructions X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=0b429535f992a2ba60de1c83a30c96c40b026c9e;p=dockerfile.git elasticsearch: Add Elasticsearch container instructions --- diff --git a/README.md b/README.md index e63b9f3..20ed700 100644 --- a/README.md +++ b/README.md @@ -23,6 +23,7 @@ The dependency graph is: |-- postgresql (adds PostgreSQL) |-- redis (adds Redis) `-- gentoo-java (adds IcedTea) + `-- elasticsearch (adds Elasticsearch) Run: diff --git a/build.sh b/build.sh index 7b50475..aa533a4 100755 --- a/build.sh +++ b/build.sh @@ -40,6 +40,7 @@ REPOS=" gentoo-syslog gentoo-java buildbot + elasticsearch postgresql redis " diff --git a/elasticsearch/Dockerfile.template b/elasticsearch/Dockerfile.template new file mode 100644 index 0000000..fa71ff0 --- /dev/null +++ b/elasticsearch/Dockerfile.template @@ -0,0 +1,38 @@ +# Copyright (C) 2013 W. Trevor King +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +FROM NAMESPACE/gentoo-java:TAG +MAINTAINER A. U. Thor +#VOLUME ["PORTAGE:/usr/portage:ro", "PORTAGE/distfiles:/usr/portage/distfiles:rw"] +RUN echo 'app-misc/elasticsearch ~amd64' >> /etc/portage/package.accept_keywords +RUN emerge -v app-misc/elasticsearch +RUN eselect news read new +RUN rc-update add elasticsearch default +RUN for x in /etc/elasticsearch/*; do cp "${x}" "${x%.sample}"; done + +# Container networking happens automatically +RUN sed -i 's/need net$/use net/' /etc/init.d/* + +CMD rc default && tail -F /var/log/messages +EXPOSE 9200 diff --git a/elasticsearch/README.md b/elasticsearch/README.md new file mode 100644 index 0000000..99a63f3 --- /dev/null +++ b/elasticsearch/README.md @@ -0,0 +1,31 @@ +Run this [Elasticsearch][] image with: + + $ docker run -d -name elasticsearch-0 wking/elasticsearch + +Then [link][linking] to it from your client container: + + $ docker run -link elasticsearch-0:elasticsearch your-client + +For example, we can use the Gentoo client: + + $ docker run -link elasticsearch-0:elasticsearch -i -t wking/gentoo /bin/bash + d30608cbc8a1 / # HOST_PORT="${ELASTICSEARCH_PORT#[a-z]*://}" + d30608cbc8a1 / # HOST="${HOST_PORT%:[0-9]*}" + d30608cbc8a1 / # PORT="${HOST_PORT#[0-9.]*:}" + d30608cbc8a1 / # wget --quiet -O - "http://${HOST}:${PORT}/" + { + "ok" : true, + "status" : 200, + "name" : "Asbestos Man", + "version" : { + "number" : "0.90.6", + "build_hash" : "e2a24efdde0cb7cc1b2071ffbbd1fd874a6d8d6b", + "build_timestamp" : "2013-11-04T13:44:16Z", + "build_snapshot" : false, + "lucene_version" : "4.5.1" + }, + "tagline" : "You Know, for Search" + } + +[Elasticsearch]: http://www.elasticsearch.org/ +[linking]: http://docs.docker.io/en/latest/use/port_redirection/#linking-a-container