You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by kl...@apache.org on 2015/12/17 22:45:04 UTC
[1/2] couchdb-docker git commit: 1.6: improve Dockerfile according to
best practices
Repository: couchdb-docker
Updated Branches:
refs/heads/master b5e077cf6 -> 9d4172a9f
1.6: improve Dockerfile according to best practices
Project: http://git-wip-us.apache.org/repos/asf/couchdb-docker/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-docker/commit/ce8eea06
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-docker/tree/ce8eea06
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-docker/diff/ce8eea06
Branch: refs/heads/master
Commit: ce8eea06681de670edddde3e1b20e74c4be43afa
Parents: b5e077c
Author: klaemo <kl...@fastmail.fm>
Authored: Thu Dec 17 15:24:04 2015 +0100
Committer: klaemo <kl...@fastmail.fm>
Committed: Thu Dec 17 22:34:14 2015 +0100
----------------------------------------------------------------------
1.6.1/Dockerfile | 53 +++++++++++++++++++++++++++++----------------------
1 file changed, 30 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-docker/blob/ce8eea06/1.6.1/Dockerfile
----------------------------------------------------------------------
diff --git a/1.6.1/Dockerfile b/1.6.1/Dockerfile
index 6a4c6aa..1914bdb 100644
--- a/1.6.1/Dockerfile
+++ b/1.6.1/Dockerfile
@@ -10,9 +10,9 @@
# License for the specific language governing permissions and limitations under
# the License.
-FROM debian:8.2
+FROM debian:jessie
-MAINTAINER Clemens Stolle klaemo@fastmail.fm
+MAINTAINER Clemens Stolle klaemo@apache.org
# Install instructions from https://cwiki.apache.org/confluence/display/COUCHDB/Debian
@@ -21,24 +21,32 @@ ENV COUCHDB_VERSION 1.6.1
RUN groupadd -r couchdb && useradd -d /var/lib/couchdb -g couchdb couchdb
# download dependencies, compile and install couchdb
-RUN apt-get update -y \
- && apt-get install -y --no-install-recommends \
- build-essential ca-certificates curl \
- libmozjs185-dev libmozjs185-1.0 libnspr4 libnspr4-0d libnspr4-dev libcurl4-openssl-dev libicu-dev \
- erlang-nox erlang-dev \
- && curl -sSL http://apache.openmirror.de/couchdb/source/$COUCHDB_VERSION/apache-couchdb-$COUCHDB_VERSION.tar.gz -o couchdb.tar.gz \
- && curl -sSL https://www.apache.org/dist/couchdb/source/$COUCHDB_VERSION/apache-couchdb-$COUCHDB_VERSION.tar.gz.asc -o couchdb.tar.gz.asc \
- && curl -sSL https://www.apache.org/dist/couchdb/KEYS -o KEYS \
- && gpg --import KEYS && gpg --verify couchdb.tar.gz.asc \
- && mkdir -p /usr/src/couchdb \
- && tar -xzf couchdb.tar.gz -C /usr/src/couchdb --strip-components=1 \
- && cd /usr/src/couchdb \
- && ./configure --with-js-lib=/usr/lib --with-js-include=/usr/include/mozjs \
- && make && make install \
- && apt-get purge -y perl binutils cpp make build-essential libnspr4-dev libcurl4-openssl-dev libicu-dev \
- && apt-get autoremove -y \
- && apt-get update && apt-get install -y libicu52 --no-install-recommends \
- && rm -rf /var/lib/apt/lists/* /usr/src/couchdb /couchdb.tar.gz* /KEYS /esl.deb
+RUN apt-get update -y && apt-get install -y --no-install-recommends \
+ build-essential \
+ ca-certificates \
+ curl \
+ erlang-dev \
+ erlang-nox \
+ libcurl4-openssl-dev \
+ libicu-dev \
+ libmozjs185-1.0 \
+ libmozjs185-dev \
+ libnspr4 \
+ libnspr4-0d \
+ libnspr4-dev \
+ && curl -sSL http://apache.openmirror.de/couchdb/source/$COUCHDB_VERSION/apache-couchdb-$COUCHDB_VERSION.tar.gz -o couchdb.tar.gz \
+ && curl -sSL https://www.apache.org/dist/couchdb/source/$COUCHDB_VERSION/apache-couchdb-$COUCHDB_VERSION.tar.gz.asc -o couchdb.tar.gz.asc \
+ && curl -sSL https://www.apache.org/dist/couchdb/KEYS -o KEYS \
+ && gpg --import KEYS && gpg --verify couchdb.tar.gz.asc \
+ && mkdir -p /usr/src/couchdb \
+ && tar -xzf couchdb.tar.gz -C /usr/src/couchdb --strip-components=1 \
+ && cd /usr/src/couchdb \
+ && ./configure --with-js-lib=/usr/lib --with-js-include=/usr/include/mozjs \
+ && make && make install \
+ && apt-get purge -y perl binutils cpp make build-essential libnspr4-dev libcurl4-openssl-dev libicu-dev \
+ && apt-get autoremove -y \
+ && apt-get update && apt-get install -y libicu52 --no-install-recommends \
+ && rm -rf /var/lib/apt/lists/* /usr/src/couchdb /couchdb.tar.gz* /KEYS
# grab gosu for easy step-down from root
RUN gpg --keyserver pool.sks-keyservers.net --recv-keys B42F6819007F00F88E364FD4036A9C25BF357DD4 \
@@ -60,8 +68,7 @@ RUN chown -R couchdb:couchdb \
# Expose to the outside
RUN sed -e 's/^bind_address = .*$/bind_address = 0.0.0.0/' -i /usr/local/etc/couchdb/default.ini
-COPY ./docker-entrypoint.sh /entrypoint.sh
-RUN chmod +x /entrypoint.sh
+COPY ./docker-entrypoint.sh /
# Define mountable directories.
VOLUME ["/usr/local/var/log/couchdb", "/usr/local/var/lib/couchdb", "/usr/local/etc/couchdb"]
@@ -69,5 +76,5 @@ VOLUME ["/usr/local/var/log/couchdb", "/usr/local/var/lib/couchdb", "/usr/local/
EXPOSE 5984
WORKDIR /var/lib/couchdb
-ENTRYPOINT ["/entrypoint.sh"]
+ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["couchdb"]
[2/2] couchdb-docker git commit: 2.0: refactor and reduce image size
Posted by kl...@apache.org.
2.0: refactor and reduce image size
closes klaemo/docker-couchdb#32
Project: http://git-wip-us.apache.org/repos/asf/couchdb-docker/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-docker/commit/9d4172a9
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-docker/tree/9d4172a9
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-docker/diff/9d4172a9
Branch: refs/heads/master
Commit: 9d4172a9f39a4d4b461c1f1a71eabce3f2baafb4
Parents: ce8eea0
Author: klaemo <kl...@fastmail.fm>
Authored: Thu Dec 17 22:44:28 2015 +0100
Committer: klaemo <kl...@fastmail.fm>
Committed: Thu Dec 17 22:44:28 2015 +0100
----------------------------------------------------------------------
2.0-dev/Dockerfile | 96 ++++++++++++++++++++++++++++++++-----------------
README.md | 2 +-
2 files changed, 65 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-docker/blob/9d4172a9/2.0-dev/Dockerfile
----------------------------------------------------------------------
diff --git a/2.0-dev/Dockerfile b/2.0-dev/Dockerfile
index 52992dd..14b6afc 100644
--- a/2.0-dev/Dockerfile
+++ b/2.0-dev/Dockerfile
@@ -12,43 +12,74 @@
FROM debian:jessie
-MAINTAINER Clemens Stolle klaemo@fastmail.fm
+MAINTAINER Clemens Stolle klaemo@apache.org
-ENV COUCHDB_VERSION developer-preview-2.0
+ENV COUCHDB_VERSION master
RUN groupadd -r couchdb && useradd -d /usr/src/couchdb -g couchdb couchdb
# download dependencies
-RUN apt-get update -y \
- && apt-get install -y --no-install-recommends build-essential libmozjs185-dev \
- libnspr4 libnspr4-0d libnspr4-dev libcurl4-openssl-dev libicu-dev \
- openssl curl ca-certificates git pkg-config \
- apt-transport-https python wget \
- python-sphinx texlive-base texinfo texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra #needed to build the doc
-
-RUN wget http://packages.erlang-solutions.com/erlang/esl-erlang/FLAVOUR_1_general/esl-erlang_18.0-1~debian~jessie_amd64.deb
-RUN apt-get install -y --no-install-recommends libwxgtk3.0 default-jdk
-RUN apt-get install -y --no-install-recommends procps
-
-RUN dpkg -i esl-erlang_18.0-1~debian~jessie_amd64.deb
-
-RUN git clone https://github.com/rebar/rebar /usr/src/rebar \
- && (cd /usr/src/rebar ; make && mv rebar /usr/local/bin/)
-
-RUN cd /usr/src \
- && git clone https://git-wip-us.apache.org/repos/asf/couchdb.git \
- && cd couchdb \
- && git checkout master
-
-RUN curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
- && echo 'deb https://deb.nodesource.com/node jessie main' > /etc/apt/sources.list.d/nodesource.list \
- && echo 'deb-src https://deb.nodesource.com/node jessie main' >> /etc/apt/sources.list.d/nodesource.list \
- && apt-get update -y && apt-get install -y nodejs \
- && npm install -g npm && npm install -g grunt-cli
-
-RUN apt-get -y install haproxy
-
-RUN cd /usr/src/couchdb && ./configure && make
+RUN apt-get update -y && apt-get install -y --no-install-recommends \
+ apt-transport-https \
+ build-essential \
+ ca-certificates \
+ curl \
+ default-jdk \
+ erlang-base-hipe \
+ erlang-dev \
+ erlang-eunit \
+ erlang-nox \
+ git \
+ haproxy \
+ libcurl4-openssl-dev \
+ libicu-dev \
+ libmozjs185-dev \
+ libnspr4 \
+ libnspr4-0d \
+ libnspr4-dev \
+ libwxgtk3.0 \
+ openssl \
+ pkg-config \
+ procps \
+ python \
+ python-sphinx \
+ texinfo \
+ texlive-base \
+ texlive-fonts-extra \
+ texlive-fonts-recommended \
+ texlive-latex-extra \
+ wget \
+ && git clone https://github.com/rebar/rebar /usr/src/rebar \
+ && (cd /usr/src/rebar ; make && mv rebar /usr/local/bin/) \
+ && cd /usr/src && git clone https://git-wip-us.apache.org/repos/asf/couchdb.git \
+ && cd couchdb && git checkout $COUCHDB_VERSION \
+ && curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - \
+ && echo 'deb https://deb.nodesource.com/node jessie main' > /etc/apt/sources.list.d/nodesource.list \
+ && echo 'deb-src https://deb.nodesource.com/node jessie main' >> /etc/apt/sources.list.d/nodesource.list \
+ && apt-get update -y && apt-get install -y nodejs \
+ && npm -g install npm@latest && npm install -g grunt-cli \
+ && cd /usr/src/couchdb && ./configure && make \
+ && apt-get purge -y \
+ binutils \
+ build-essential \
+ cpp \
+ default-jdk \
+ git \
+ libcurl4-openssl-dev \
+ libnspr4-dev \
+ libwxgtk3.0 \
+ make \
+ nodejs \
+ perl \
+ pkg-config \
+ texinfo \
+ texlive-base \
+ texlive-fonts-extra \
+ texlive-fonts-recommended \
+ texlive-latex-extra \
+ wget \
+ && apt-get autoremove -y && apt-get clean \
+ && rm -rf /var/lib/apt/lists/* /usr/lib/node_modules /usr/src/couchdb/src/fauxton/node_modules
# permissions
RUN chmod +x /usr/src/couchdb/dev/run && chown -R couchdb:couchdb /usr/src/couchdb
@@ -62,3 +93,4 @@ EXPOSE 5984
WORKDIR /usr/src/couchdb
ENTRYPOINT ["/usr/src/couchdb/dev/run"]
+CMD ["--with-haproxy"]
http://git-wip-us.apache.org/repos/asf/couchdb-docker/blob/9d4172a9/README.md
----------------------------------------------------------------------
diff --git a/README.md b/README.md
index a7dc176..6b60254 100644
--- a/README.md
+++ b/README.md
@@ -7,7 +7,7 @@ Put the couch in a docker container and ship it anywhere.
If you're looking for a CouchDB with SSL support you can check out [klaemo/couchdb-ssl](https://index.docker.io/u/klaemo/couchdb-ssl/)
- Version (stable): `CouchDB 1.6.1`, `Erlang 17.3`
-- Version (dev): `CouchDB 2.0 developer preview`, `Erlang 18.0`
+- Version (dev): `CouchDB 2.0 master`, `Erlang 17.3`
## Features