1
Rパッケージがドッカーコンテナにインストールされていることを確認するためのベストプラクティスはありますか?私はコンテナをCIサービスで実行するようにセットアップしたいと思いますし、パッケージがインストールされていることを確認していますが、ローカルでビルドしているので、ログはインストールされたパッケージとインストールされていないパッケージを判別するのが非常に難しいようです。 CIサービスを使って私にやってもらったり、単純なバッチスクリプトを使ってパッケージがインストールされていることを確認したりするのもいいでしょう。Rパッケージがドッカーコンテナにインストールされていることを確認してください。
FROM rocker/tidyverse:latest
RUN mkdir -p $HOME/.R
COPY R/Makevars /root/.R/Makevars
RUN apt-get update -qq \
&& apt-get -y --no-install-recommends install \
liblzma-dev \
libbz2-dev \
ed \
clang \
ccache \
default-jdk \
default-jre \
&& R CMD javareconf \
&& install2.r --error \
ggstance ggrepel \
rstan shinystan rstanarm \
###My pkgs
tidytext janitor corrr officer devtools pacman
tidyquant timetk tibbletime sweep broom prophet \
forecast prophet lime sparklyr rsparkling \
formattable httr rvest xml2 jsonlite \
textclean ggthemes naniar \
&& Rscript -e 'devtools::install_github(c("hadley/multidplyr","jeremystan/tidyjson","ropenscilabs/skimr"))' \
&& rm -rf /tmp/downloaded_packages/ /tmp/*.rds \
&& rm -rf /var/lib/apt/lists/*
これを本当に動的にするには、すべてのパッケージをインストールしてchk_pkgsにその値を割り当てるだけで、RScriptを使用する必要がありますか?基本的にbashを使用してinstall.packagesに入れられたパッケージのベクトルを取り出します。 – petergensler
Aye。あなたがそのルートに行きたいなら(それには時間がかかります)、動的インストーラと検証プログラムを作ることができます。あなたはすでに、基本的なロッカーのイメージを広げて素晴らしいものをやっているので、それはちょうどケーキで氷結しています。 – hrbrmstr
これは私の "コア"ジレンマです。ドッカーイメージをローカルに構築すると、パッケージがインストールを完了したときに、そのdepsと共にビルドログを解釈するのが本当に難しいです。 * DONE(rstan) ダウンロードされたソースパッケージは、依存関係 'miniUI'、 'PKI'、 'RCurl'、 'RJSONIO'をインストールしている \t '/ tmp/downloaded_packages' にもあります。 'packats'、 'crosstalk'、 'bayesplot'、 'colourpicker'、 'DT'、 'dygraphs'、 'gtools'、 'rsconnect'、 'shinyjs'、 'shinythemes'、 'threejs'、 'xts'だから、あなたはそれらがrstanのdepsだと思っているのですが、むしろ私のベクトルの中の他のpksに基づいたdepsです。 – petergensler