2017-01-27 2 views
0

Ich versuche einen RCurl zu Docker Container zu installieren, Remix von this Dockerfile, aber Fehler. SoDocker: Wie installiere ich RCurl zum Docker Container?

Wie kann ich RCurl zu Docker Container installieren?

Dockerfile

$ cat Dockerfile 
FROM r-base 
RUN apt-get -y install r-base 
RUN pip install rpy2 
RUN apt-get -y install libcurl4-openssl-dev 
#setup R configs 
RUN echo "r <- getOption('repos'); r['CRAN'] <- 'http://cran.us.r-project.org'; options(repos = r);" > ~/.Rprofile 
RUN Rscript -e "install.packages('yhatr')" 
RUN Rscript -e "install.packages('ggplot2')" 
RUN Rscript -e "install.packages('plyr')" 
RUN Rscript -e "install.packages('reshape2')" 
RUN Rscript -e "install.packages('forecast')" 
RUN Rscript -e "install.packages('stringr')" 
RUN Rscript -e "install.packages('lubridate')" 
RUN Rscript -e "install.packages('randomForest')" 
RUN Rscript -e "install.packages('rpart')" 
RUN Rscript -e "install.packages('e1071')" 
RUN Rscript -e "install.packages('kknn')" 
RUN Rscript -e "install.packages('RCurl')" 
RUN Rscript -e "install.packages('rjson')" 

Docker instalaltion Ausfall

trying URL 'https://cran.rstudio.com/src/contrib/RCurl_1.95-4.8.tar.gz' 
Content type 'application/x-gzip' length 916934 bytes (895 KB) 
================================================== 
downloaded 895 KB 

* installing *source* package ‘bitops’ ... 
** package ‘bitops’ successfully unpacked and MD5 sums checked 
** libs 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG  -fpic -g -O2 -fdebug-prefix-map=/build/r-base-3.3.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c bit-ops.c -o bit-ops.o 
gcc -std=gnu99 -I/usr/share/R/include -DNDEBUG  -fpic -g -O2 -fdebug-prefix-map=/build/r-base-3.3.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g -c cksum.c -o cksum.o 
gcc -std=gnu99 -shared -L/usr/lib/R/lib -Wl,-z,relro -o bitops.so bit-ops.o cksum.o -L/usr/lib/R/lib -lR 
installing to /usr/local/lib/R/site-library/bitops/libs 
** R 
** preparing package for lazy loading 
** help 
*** installing help indices 
** building package indices 
** testing if installed package can be loaded 
* DONE (bitops) 
* installing *source* package ‘RCurl’ ... 
** package ‘RCurl’ successfully unpacked and MD5 sums checked 
checking for curl-config... no 
Cannot find curl-config 
ERROR: configuration failed for package ‘RCurl’ 
* removing ‘/usr/local/lib/R/site-library/RCurl’ 

The downloaded source packages are in 
    ‘/tmp/RtmpJrfUvL/downloaded_packages’ 
Warning message: 
In install.packages("RCurl") : 
    installation of package ‘RCurl’ had non-zero exit status 
---> b8de6bc67379 
Removing intermediate container e8c17d0306ef 
+0

Sie tun es falsch. _Installieren binäre Pakete_. Sehen Sie, was unser Rocker-Projekt macht. –

+0

@DirkEddelbuettel also von rocker manual, muss ich einen Container mit dieser Dockerfile [https://github.com/rocker-org/hadleyverse/blob/master/Dockerfile] unter hadleyverse bauen, die von 'Installing binaries 'verwiesen wurde '[hier] (https://github.com/rocker-org/rocker/wiki)? Leider ist das hadleyverse Wiki leer – hhh

+0

SO, die (zahlreichen !!) Dockerfiles des 'Rocker'-Projekts, die zB den R-Base-Container erstellen, von dem aus man startet. _Sehen Sie, was wir tun, um Ihnen das Leben zu erleichtern. –

Antwort

0

Dirk von Binärdateien installieren vorgeschlagen, die in Wippe bauen hadleyverse bezeichnet here:

Docker Bild RStudio + rmarkdown/pandoc/Latex + R-Paket Ökosystem von Hadley Wickham

so sind wir bieten viele Extras neben der Grund RCurl bekommen.

Im Folgenden erstellen Sie den Container aus dem Docker-Image und starten Sie es dann mit einem Verzeichnis von Ihrem Host, so dass Sie in der interaktiven Shell, bash. Dort können Sie die R Sitzung mit $ R in der Befehlszeile öffnen, wo der Befehl install.packages('RCurl') funktioniert.

$ docker build -t 20170127_r . 

$ docker run -v ~/Desktop/20161213_project/:/project -it 20170127_r bash` 

Dockerfile

#R with RCurl 
#https://github.com/rocker-org/hadleyverse/blob/master/Dockerfile 
# 
FROM rocker/verse 
MAINTAINER "Carl Boettiger and Dirk Eddelbuettel" [email protected] 

## Install some external dependencies. 
RUN apt-get update \ 
    && apt-get install -y --no-install-recommends \ 
    default-jdk \ 
    default-jre \ 
    icedtea-netx \ 
    libbz2-dev \ 
    libcairo2-dev \ 
    libgdal-dev \ 
    libicu-dev \ 
    liblzma-dev \ 
    libproj-dev \ 
    libgeos-dev \ 
    libgsl0-dev \ 
    librdf0-dev \ 
    librsvg2-dev \ 
    libv8-dev \ 
    libxcb1-dev \ 
    libxdmcp-dev \ 
    libxslt1-dev \ 
    libxt-dev \ 
    mdbtools \ 
    netcdf-bin \ 
    && . /etc/environment \ 
    && install2.r -e -r $MRAN rJava \ 
    && R CMD javareconf \ 
    && apt-get clean \ 
    && rm -rf /var/lib/apt/lists/ \ 
    && rm -rf /tmp/downloaded_packages/ /tmp/*.rds 
## tidyverse, devtools and related R packages already inherited from rocker/verse 

## httr authentication uses this port 
EXPOSE 1410 
ENV HTTR_LOCALHOST 0.0.0.0 

wo es nicht klar, welcher es Pakete ausreichend für die RCurl Installation.