Docker:如何将RCurl安装到Docker容器?
我试图安装一个RCurl到Docker容器,是Dockerfile的混音,但失败了。所以 如何将RCurl安装到Docker容器? DockerfileDocker:如何将RCurl安装到Docker容器?,r,docker,installation,rcurl,R,Docker,Installation,Rcurl,我试图安装一个RCurl到Docker容器,是Dockerfile的混音,但失败了。所以 如何将RCurl安装到Docker容器? 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('r
$ 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')"
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
#R with RCurl
#https://github.com/rocker-org/hadleyverse/blob/master/Dockerfile
#
FROM rocker/verse
MAINTAINER "Carl Boettiger and Dirk Eddelbuettel" rocker-maintainers@eddelbuettel.com
## 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
Dirk建议从引用hadleyverse内置rocker的二进制文件安装: Docker image提供哈德利·威克姆的RStudio+rmarkdown/pandoc/latex+R软件包生态系统 因此,除了基本的
RCurl
之外,我们还有很多额外的功能
下面,您从docker映像构建容器,然后从主机的目录启动它,将您留在交互式shell bash中。在那里,您可以使用命令行上的install.packages('RCurl')
打开R
会话
$ docker build -t 20170127_r .
$ docker run -v ~/Desktop/20161213_project/:/project -it 20170127_r bash`
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')"
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
#R with RCurl
#https://github.com/rocker-org/hadleyverse/blob/master/Dockerfile
#
FROM rocker/verse
MAINTAINER "Carl Boettiger and Dirk Eddelbuettel" rocker-maintainers@eddelbuettel.com
## 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
不清楚哪些软件包足以安装
RCurl
。您做错了。安装二进制软件包。看看我们的Rocker项目是做什么的。@DirkEddelbuettel所以根据Rocker手册,我需要在hadleyverse下用这个Dockerfile构建一个容器,它是从安装二进制文件中引用的?不幸的是,hadleyverse wiki是emptySO,是“Rocker”项目的(无数!!)DockerFile,它创建了您开始使用的r-base容器。看看我们做了什么让你的生活更轻松。你应该读到“大量跑步是自找麻烦”