first commit
Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled
Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled
This commit is contained in:
75
base/couchdb/1.6.0/Dockerfile
Normal file
75
base/couchdb/1.6.0/Dockerfile
Normal file
@@ -0,0 +1,75 @@
|
||||
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
||||
# use this file except in compliance with the License. You may obtain a copy of
|
||||
# the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||
# License for the specific language governing permissions and limitations under
|
||||
# the License.
|
||||
|
||||
FROM debian:jessie
|
||||
|
||||
LABEL maintainer="phithon <root@leavesongs.com>"
|
||||
|
||||
# Install instructions from https://cwiki.apache.org/confluence/display/COUCHDB/Debian
|
||||
|
||||
RUN groupadd -r couchdb && useradd -d /var/lib/couchdb -g couchdb couchdb
|
||||
|
||||
RUN apt-get update -y && apt-get install -y --no-install-recommends \
|
||||
ca-certificates \
|
||||
curl \
|
||||
erlang-nox \
|
||||
libicu52 \
|
||||
libmozjs185-1.0 \
|
||||
libnspr4 \
|
||||
libnspr4-0d \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# grab gosu for easy step-down from root and tini for signal handling
|
||||
RUN curl -o /usr/local/bin/gosu -fSL "https://github.com/tianon/gosu/releases/download/1.7/gosu-$(dpkg --print-architecture)" \
|
||||
&& chmod +x /usr/local/bin/gosu \
|
||||
&& curl -o /usr/local/bin/tini -fSL "https://github.com/krallin/tini/releases/download/v0.14.0/tini" \
|
||||
&& chmod +x /usr/local/bin/tini
|
||||
|
||||
# download dependencies, compile and install couchdb,
|
||||
# set correct permissions, expose couchdb to the outside and disable logging to disk
|
||||
RUN buildDeps=' \
|
||||
gcc \
|
||||
g++ \
|
||||
erlang-dev \
|
||||
libcurl4-openssl-dev \
|
||||
libicu-dev \
|
||||
libmozjs185-dev \
|
||||
libnspr4-dev \
|
||||
make \
|
||||
' \
|
||||
&& apt-get update && apt-get install -y --no-install-recommends $buildDeps \
|
||||
&& curl -fSL https://archive.apache.org/dist/couchdb/source/1.6.0/apache-couchdb-1.6.0.tar.gz -o couchdb.tar.gz \
|
||||
&& 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 --auto-remove $buildDeps \
|
||||
&& rm -rf /var/lib/apt/lists/* /usr/src/couchdb /couchdb.tar.gz* \
|
||||
&& chown -R couchdb:couchdb \
|
||||
/usr/local/lib/couchdb /usr/local/etc/couchdb \
|
||||
/usr/local/var/lib/couchdb /usr/local/var/log/couchdb /usr/local/var/run/couchdb \
|
||||
&& chmod -R g+rw \
|
||||
/usr/local/lib/couchdb /usr/local/etc/couchdb \
|
||||
/usr/local/var/lib/couchdb /usr/local/var/log/couchdb /usr/local/var/run/couchdb \
|
||||
&& mkdir -p /var/lib/couchdb \
|
||||
&& sed -e 's/^bind_address = .*$/bind_address = 0.0.0.0/' -i /usr/local/etc/couchdb/default.ini \
|
||||
&& sed -e 's!/usr/local/var/log/couchdb/couch.log$!/dev/null!' -i /usr/local/etc/couchdb/default.ini
|
||||
|
||||
COPY ./docker-entrypoint.sh /
|
||||
RUN chmod +x /docker-entrypoint.sh
|
||||
|
||||
EXPOSE 5984
|
||||
WORKDIR /var/lib/couchdb
|
||||
|
||||
ENTRYPOINT ["tini", "--", "/docker-entrypoint.sh"]
|
||||
CMD ["couchdb"]
|
Reference in New Issue
Block a user