Есть ли определенная версия couchdb, которую вы хотите в контейнере для докеров? Если нет, так как вы используете Ubuntu 12.04 в качестве базового изображения, вы можете получить CouchDB 1.0.1 двоичные файлы из Ubuntu 12.04/precise [universe] repository легко, добавив couchdb
в свой apt-get
список, как это:
FROM ubuntu:12.04
MAINTAINER me <[email protected]>
RUN apt-get -y update
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install supervisor \
apache2 \
mysql-server \
php5 \
libapache2-mod-php5 \
php5-mysql \
php5-mcrypt \
couchdb
#[--Rest of your dockerfile goes here unchanged--]
Вы можете альтернативно использовать PPA, поддерживаемый командой Apache CouchDB, чтобы получить последние стабильные версии для вашего базового изображения на основе официально выпущенных шаров. Для этой опции вы можете использовать следующую dockerfile:
# To install the ppa finder tool in your docker container
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install python-software-properties
RUN add-apt-repository ppa:couchdb/stable -y
RUN apt-get -y update
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install supervisor \
apache2 \
mysql-server \
php5 \
libapache2-mod-php5 \
php5-mysql \
php5-mcrypt \
couchdb
#[--Rest of your dockerfile goes here unchanged--]
Если вы хотите, последний или конкретную версию CouchDB в вашем Docker контейнере, то вы, возможно, придется строить CouchDB из исходного кода. Обратите внимание, что для этого подхода вам потребуется установить еще много пакетов (g++ erlang-dev erlang-manpages erlang-base-hipe erlang-eunit, libmozjs185-dev libicu-dev libcurl4-gnutls-dev libtool
) на ваш контейнер, чтобы иметь возможность создавать couchdb из исходного кода. Однако вы можете очистить/удалить пакеты, которые необходимы только для сборки couchdb. Полный список зависимостей можно найти на official couchdb build wiki on apache. Если вам действительно нужна последняя версия, вы можете обратиться к этому dockerfile и соответственно добавить обновленный файл докеров. Ниже приведен полный файл докеров [UNTESTED] для вашего удобства:
FROM ubuntu:12.04
MAINTAINER me <[email protected]>
ENV COUCHDB_VERSION master
RUN groupadd -r couchdb && useradd -d /usr/src/couchdb -g couchdb couchdb
# download dependencies
RUN apt-get update -y -qq && apt-get install -y --no-install-recommends \
build-essential \
erlang-dev \
erlang-manpages \
erlang-base-hipe \
erlang-eunit \
erlang-nox \
erlang-xmerl \
erlang-inets \
libmozjs185-dev \
libicu-dev \
libcurl4-gnutls-dev \
libtool
RUN cd /usr/src && git clone https://git-wip-us.apache.org/repos/asf/couchdb.git \
&& cd couchdb && git checkout $COUCHDB_VERSION \
&& cd /usr/src/couchdb && ./configure && make
# You can optionally purge/remove the packages you installed to build the couchdb from source.
# permissions
RUN chmod +x /usr/src/couchdb/dev/run && chown -R couchdb:couchdb /usr/src/couchdb
USER couchdb
EXPOSE 5984 15984 25984 35984 15986 25986 35986
#[--Rest of your dockerfile can go here as required--]