From 4955ce7d7e92795003b2e1495e27c75bd7ef7a41 Mon Sep 17 00:00:00 2001 From: chapmanb Date: Thu, 28 Jul 2016 05:40:45 -0400 Subject: [PATCH] Docker: minimize system dependencies in container Simplify Docker container creation to avoid need for build system, Java based system packages and X11 libraries. Attempt to reduce overall container size now that we ship Java 8 as a conda package. --- Dockerfile | 22 ++++------------------ docs/contents/configuration.rst | 2 +- docs/contents/installation.rst | 5 +---- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/Dockerfile b/Dockerfile index 47593eec3..3dca5f015 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,29 +1,15 @@ FROM stackbrew/ubuntu:14.04 MAINTAINER Brad Chapman "https://github.com/chapmanb" -# v0.9.7 -- https://github.com/chapmanb/bcbio-nextgen/commit/52cda3e +# v1.0.0a -- https://github.com/chapmanb/bcbio-nextgen/commit/33a9ed5 # Setup a base system RUN apt-get update && \ - apt-get install -y build-essential unzip wget git openjdk-7-jdk openjdk-7-jre && \ - apt-get install -y libglu1-mesa && \ - apt-get install -y curl pigz bsdmainutils && \ + apt-get install -y curl wget git unzip tar gzip bzip2 xz-utils pigz && \ # Support inclusion in Arvados pipelines apt-get install -y --no-install-recommends libcurl4-gnutls-dev mbuffer python2.7-dev python-virtualenv && \ - -# Fake a fuse install; openjdk pulls this in -# https://github.com/dotcloud/docker/issues/514 -# https://gist.github.com/henrik-muehe/6155333 - mkdir -p /tmp/fuse-hack && cd /tmp/fuse-hack && \ - apt-get install libfuse2 && \ - apt-get download fuse && \ - dpkg-deb -x fuse_* . && \ - dpkg-deb -e fuse_* && \ - rm fuse_*.deb && \ - echo -en '#!/bin/bash\nexit 0\n' > DEBIAN/postinst && \ - dpkg-deb -b . /fuse.deb && \ - dpkg -i /fuse.deb && \ - rm -rf /tmp/fuse-hack && \ +# Not added by default to save space +# apt-get install -y libglu1-mesa && \ # bcbio-nextgen installation mkdir -p /tmp/bcbio-nextgen-install && cd /tmp/bcbio-nextgen-install && \ diff --git a/docs/contents/configuration.rst b/docs/contents/configuration.rst index 0cadb560f..c2f556069 100644 --- a/docs/contents/configuration.rst +++ b/docs/contents/configuration.rst @@ -540,7 +540,7 @@ Structural variant calling ========================== - ``svcaller`` -- List of structural variant callers to use. [lumpy, manta, - cnvkit, seq2c, battenberg]. LUMPY, Manta and DELLY require paired end reads. + cnvkit, seq2c, battenberg]. LUMPY and Manta require paired end reads. - ``svprioritize`` -- Produce a tab separated summary file of structural variants in regions of interest. This complements the full VCF files of structural variant calls to highlight changes in known genes. This can be diff --git a/docs/contents/installation.rst b/docs/contents/installation.rst index 313d74aa7..9772dd8d9 100644 --- a/docs/contents/installation.rst +++ b/docs/contents/installation.rst @@ -43,10 +43,7 @@ The machine will need to have some basic requirements for installing and running bcbio: - Python 2.7, Python 3.x, or Python 2.6 plus the argparse dependency. -- Basic system setup for unpacking files (tar, gunzip). This should be present - on most non-minimal systems. On minimal Ubuntu machines, ``build-essential`` - provides this in one package. -- unzip +- Basic system setup for unpacking files: tar, gzip, unzip, bzip2, xz-utils. - The git version control system (http://git-scm.com/) - wget for file retrieval (https://www.gnu.org/software/wget/)