Dockerfile 1.82 KB
Newer Older
1 2
# This is a Dockerfile to run eHive scripts (init_pipeline.pl, beekeeper.pl, runWorker.pl) in a container
#
3
## Build the image
4 5
# docker build -t ensembl-hive .
#
6 7 8
## Check that the test-suite works (guest_language.t is expected to fail
# docker run -e EHIVE_TEST_PIPELINE_URLS=sqlite:/// ensembl-hive prove -r /repo/ensembl-hive/t
#
9 10 11 12 13 14 15
## Open a session in a new container (will run bash)
# docker run -it ensembl-hive
#
## Initialize and run a pipeline
# docker run -it ensembl-hive init_pipeline.pl Bio::EnsEMBL::Hive::Examples::LongMult::PipeConfig::LongMult_conf -pipeline_url $URL
# docker run -it ensembl-hive beekeeper.pl -url $URL -loop -sleep 0.2
# docker run -it ensembl-hive runWorker.pl -url $URL
16 17 18 19


FROM ubuntu:16.04

20
# Install git and java (taken from https://github.com/dockerfile/java/blob/master/oracle-java8/Dockerfile)
21
ARG DEBIAN_FRONTEND=noninteractive
22 23 24 25 26 27 28 29
RUN apt-get update -y \
    && apt-get install -y git software-properties-common \
    && (echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | debconf-set-selections) \
    && add-apt-repository -y ppa:webupd8team/java \
    && apt-get update -y \
    && apt-get install -y oracle-java8-installer ant \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/cache/oracle-jdk8-installer
30

31
# Clone the repo
32
RUN mkdir /repo && git clone -b version/2.5 https://github.com/Ensembl/ensembl-hive.git /repo/ensembl-hive
33

34
# Install all the dependencies
35 36
RUN /repo/ensembl-hive/docker/setup_os.Ubuntu-16.04.sh \
    && /repo/ensembl-hive/docker/setup_cpan.Ubuntu-16.04.sh /repo/ensembl-hive
37

38
ENV EHIVE_ROOT_DIR "/repo/ensembl-hive"
39 40
ENV PATH "/repo/ensembl-hive/scripts:$PATH"
ENV PERL5LIB "/repo/ensembl-hive/modules:$PERL5LIB"
41
ENV JAVA_HOME /usr/lib/jvm/java-8-oracle
42

43
ENTRYPOINT [ "/repo/ensembl-hive/scripts/dev/simple_init.py" ]
44
CMD [ "/bin/bash" ]