ドッカーファイルに以下の行を使用してRをインストールしました。 dockerファイルにインストールするパッケージを指定する方法を提案してください。
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/')"
これは正しい方法ですか?
@Cameron Kerrのコメントで示唆されているように、Rscriptはビルドに失敗しません。現在のところ、質問が示唆するとおりに行うことをお勧めします。
_RUN R -e "install.packages('methods',dependencies=TRUE, repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('jsonlite',dependencies=TRUE, repos='http://cran.rstudio.com/')"
RUN R -e "install.packages('tseries',dependencies=TRUE, repos='http://cran.rstudio.com/')"
_
パッケージの障害がないと確信している場合は、このワンライナーを使用してください-
_RUN R -e "install.packages(c('methods', 'jsonlite', 'tseries'),
dependencies=TRUE,
repos='http://cran.rstudio.com/')"
_
EDIT:Base-Rイメージを使用しない場合は、_rocker-org
_の_r-ver
_または_r-studio
_またはtidyverse
イメージ。 repo です。 Dockerfileの例を次に示します-
_FROM rocker/tidyverse:latest
# Install R packages
RUN install2.r --error \
methods \
jsonlite \
tseries
_
_--error
_フラグはオプションです。パッケージのインストールが失敗すると、install.packages()
がエラーをスローします(これにより_docker build
_コマンドが失敗します)。デフォルトでは、install.packages()
は警告のみをスローします。これは、パッケージのインストールに失敗した場合でも、Dockerfileが正常にビルドできることを意味します。
すべての_rocker-org
_は基本的に インストール _install2.R
_機能用のlittler
パッケージ
はい、ソリューションは機能するはずです。私は同じ問題に遭遇し、ここで解決策を見つけました https://github.com/glamp/r-docker/blob/master/Dockerfile 。
つまり、RUN Rscript -e "install.packages('PACKAGENAME')"
を使用します。私はそれを試してみましたが、動作します。
目的のインストールコマンドを使用して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
には、適切なパッケージインストールコマンドが含まれています。