Я только что закончил писать рукопись для публикации в научном журнале.Я хочу, чтобы мои исследования были воспроизводимыми, поэтому помимо обмена моими оригинальными и скомпилированными записными книжками с уценкой R на Github, я хотел бы сохранить среду, в которой я анализировал свои данные (включая данные, записные книжки и конкретные версии R и пакетов) вДокер контейнер.Более того, я хотел бы, чтобы любой, кто пытается воспроизвести мою работу, мог выполнить этот код в интерактивном сеансе Rstudio.
Мне удалось создать Dockerfile в правильной среде.Вот игрушечный пример:
FROM rocker/r-ver:3.5.1
RUN mkdir /home/working_directory
RUN mkdir /home/working_directory/bin
RUN R -e 'options(repos = \
list(CRAN = "http://mran.revolutionanalytics.com/snapshot/2019-01-01")); \
install.packages("ggplot2")'
COPY current/0[1-8]-*.Rmd /home/working_directory/
COPY current/bin/utils.R /home/working_directory/bin/
RUN R
Однако это не позволяет пользователям читать записные книжки Rmd и выполнять код построчно.Обходной путь - запустить образ rocker / rstudio и установить пакеты оттуда, но я хотел бы сделать это с помощью одного вызова сборки докера.К сожалению, я не смог этого сделать.
Ура!