У меня блестящий проект с использованием packrat.Когда я создаю контейнер Docker Rocker-Shiny, я помещаю команды в Dockerfile, чтобы установить пакет packrat и восстановить библиотеку.Однако я вижу, что packrat устанавливает пакеты в системную библиотеку (/ usr / local / lib / R / ...), а не в частную библиотеку проекта.Если я вхожу в консоль bash-докера и запускаю сеанс R в dir проекта, то читает файл .Rprofile, и пакет packrat установлен и начинает установку пакетов в личную библиотеку.Как я могу получить это из Dockerfile?
В моем Dockerfile:
RUN cd /srv/shiny-server && \ R -e 'install.packages("packrat" , repos="http://cran.us.r-project.org"); packrat::restore()'
Установить пакеты в / usr / local / lib / R ... что не так.
Однако, если я вхожу в Docker Bash и запускаю сеанс R в директории моего проекта, он работает нормально:
docker exec -it test_app bash
cd /srv/shiny-server
R # start R session into project dir
Packrat is not installed in the local library -- attempting to bootstrap an installation...
> Installing packrat into project private library:
- "/srv/shiny-server/packrat/lib/x86_64-pc-linux-gnu/3.5.3"
* installing *source* package ‘packrat’ ...
** R
** inst
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (packrat)
> Attaching packrat
> Restoring library
Installing plyr (1.8.1) ... OK (built source)