2017-07-24 104 views
4

我在docker文件中使用了下面的行安裝了R。請建議如何指定現在要安裝在我的docker文件中的軟件包。使用docker文件安裝R軟件包

RUN yum -y install R-core R-devel 

我在做這樣的事情:

RUN R -e "install.packages('methods',dependencies=TRUE, repos='http://cran.rstudio.com/')"\ 
    && R -e "install.packages('jsonlite',dependencies=TRUE, repos='http://cran.rstudio.com/')" \ 
    && R -e "install.packages('tseries',dependencies=TRUE, repos='http://cran.rstudio.com/')" 

這是做正確的方法是什麼?

+0

可能的相關文章:https://stackoverflow.com/questions/6907937/how-to-install-dependencies-when-using-r-cmd-install-to-install-r-packages – Damian

+0

你給的鏈接不是關於dockerfile。你能建議如果你有什麼想法,我該怎麼辦? – Ashag

+0

是否可以從shell提示符運行命令或通過Docker運行R腳本?這篇文章提出了安裝軟件包的多種選擇 - 我認爲它們中的一種可能適用於您的情況,即使未特別提及docker也是如此。 – Damian

回答

0

我建議看看R-studioR-base。你可以有一個預先安裝了R的映像,它們也可以幫助你安裝軟件包。 Here是他們在RStudio上的文檔的鏈接。有點難找。 This部分可能會幫助你。

+0

1.)我不想安裝R studio。 2.)我不能使用r-base或其他的東西,因爲mybase圖像來自一些私人存儲庫,因此。我不能使用apt-get來安裝任何東西.Tha是我使用yum來安裝東西的原因。你可以建議豐富的情況下,使用yum安裝R我的方式後,我如何安裝軟件包? – Ashag

+0

我不知道如何安裝R包,但是,如果您可以準備一個安裝R包的腳本,那麼我可以幫助您在dockerfile中運行該腳本。 – Ayushya

+0

檢查修改請 – Ashag

0

您可以使用所需的安裝命令編寫R腳本,然後使用Docker運行它 - 如果我正確閱讀本文檔(https://hub.docker.com/_/r-base/)。

FROM r-base 
COPY . /usr/local/src/myscripts 
WORKDIR /usr/local/src/myscripts 
CMD ["Rscript", "myscript.R"] 

Build your image with the command: 

$ docker build -t myscript /path/to/Dockerfile 

其中myscript.R包含相應的軟件包安裝命令。

+0

運行R腳本是不可能的。 – Ashag

+1

我正在做這樣的事情:RUN R -e「install.packages('methods',dependencies = TRUE,repos ='http://cran.rstudio.com/')」\ && R -e「install .packages('jsonlite',dependencies = TRUE,repos ='http://cran.rstudio.com/')「\ && R -e」install.packages('tseries',dependencies = TRUE,repos ='http ://cran.rstudio.com/')「 – Ashag

+0

這是正確的做法嗎? – Ashag