Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question about directory "analysis/docker" #105

Open
nuest opened this issue Feb 27, 2016 · 1 comment
Open

Question about directory "analysis/docker" #105

nuest opened this issue Feb 27, 2016 · 1 comment

Comments

@nuest
Copy link

nuest commented Feb 27, 2016

Can you explain what you were (planning to) doing here? Thanks!
I'm working with Docker myself, so the directory name intrigued me.

@richfitz
Copy link
Member

That is part of an attempt at automatically generating dockerfiles that (for various reasons) was never documented or completed. It uses dockertest which is a package I wrote to ease writing dockerfiles for R packages, projects and (in particular) remake projects. It mostly works but I have sinced moved jobs to a place where we don't use docker at all (primarily a Windows group) so it has languished a bit.

Running build_remake("clean") builds a standardised environment with all depedencies that the project needs (as detected in the remake file):

FROM richfitz/remake

RUN apt-get update \
  && apt-get install -y --no-install-recommends \
    aspell \
    aspell-en \
    ca-certificates \
    curl \
    fftw3-dev \
    gfortran \
    git \
    libcurl4-openssl-dev \
    libgsl0-dev \
    libicu-dev \
    libxml2-dev \
    ssh \
  && apt-get clean

RUN r -e 'remake::install_remake("/usr/local/bin")'

COPY self /root/modeladequacy

WORKDIR modeladequacy/analysis

RUN r -e 'remake::install_missing_packages()'

CMD ["bash"]

(though I notice that at the moment it is failing to detect system dependencies for one of the upstream packages).

> dockertest::build_remake("clean")
Fetching DESCRIPTION for richfitz/sowsear
Fetching DESCRIPTION for mwpennell/arbutus
Downloading crandb/latest - may take a minute
Unresolved SystemRequirements:
    - Java JDK 1.2 or higher (for JRI/REngine JDK 1.4 or higher), GNU make: rJava
Suppress with dockertest.yml:system_ignore_packages
Cloning into 'self'...
done.

The build_remake("all") line builds from the base container and runs the full analysis. Because of the layered filesystem approach this means you can (in theory) show that the full analysis container comes from the base container.

It's not ready for prime-time but at some point I will get back to it...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants