J'utilise Singularity 3.0 et j'essaie d'extraire une image de conteneur de DockerHub et de l'exécuter sur un cluster universitaire. J'ai suivi cette recette pour commencer.
> install.packages(c("plyr", "dply", "tidyr", "ggplot2")) Installing packages into â/usr/local/lib/R/site-libraryâ (as âlibâ is unspecified) Warning in install.packages : 'lib = "/usr/local/lib/R/site-library"' is not writable Would you like to use a personal library instead? (yes/No/cancel) cancel Error in install.packages : unable to install packages
Le processus du conteneur démarre mais lorsque j'essaie de me connecter via un navigateur, j'obtiens le journal des erreurs suivant.
singularity exec --home my-project-directory rstudio-3.5.2.sif rserver --www-port 8787
Il semble que le système de fichiers dans le conteneur est uniquement en lecture seule . Comment créer (ou exécuter) le conteneur de telle sorte que le système de fichiers du conteneur soit accessible en écriture?
Update:
J'ai pu faire fonctionner le serveur RStudio sur le cluster universitaire comme suit.
01 Jan 2019 12:07:22 [rsession-pughdr] ERROR system error 30 (Read-only file system) [path=/home/pughdr/.rstudio, target-dir=]; OCCURRED AT: rstudio::core::Error rstudio::core::FilePath::createDirectory(const string&) const /home/ubuntu/rstudio/src/cpp/core/FilePath.cpp:846; LOGGED FROM: rstudio::core::FilePath rstudio::core::system::userSettingsPath(const rstudio::core::FilePath&, const string&) /home/ubuntu/rstudio/src/cpp/core/system/PosixSystem.cpp:486 01 Jan 2019 12:07:22 [rsession-pughdr] ERROR system error 30 (Read-only file system) [path=/home/pughdr/.rstudio, target-dir=]; OCCURRED AT: rstudio::core::Error rstudio::core::FilePath::createDirectory(const string&) const /home/ubuntu/rstudio/src/cpp/core/FilePath.cpp:846; LOGGED FROM: int main(int, char* const*) /home/ubuntu/rstudio/src/cpp/session/SessionMain.cpp:1689
3 Réponses :
essayez - un indicateur inscriptible dans votre conteneur:
singularity build --writable rstudio-3.5.2.sif docker://rocker/rstudio:3.5.2 singularity exec --writable --bind example-project-1/:/home/rstudio/ rstudio-3.5.2.sif rserver --www-port 8787
L'indicateur --writable
était obsolète dans Singularity 3.0 et nécessite les droits sudo
(que je n'ai pas sur le cluster universitaire) pour Singularity 2.5.
Vous pouvez créer un dossier sandbox avec l'option --sandbox.
Vous pouvez aussi probablement créer une machine virtuelle / vagrant pour la singularité 2.5
Lecture de cet article , il existe apparemment une solution au problème d'installation des packages:
Créez un fichier .Renviron
dans votre répertoire personnel et définissez R_LIBS_USER
comme suit:
Cela a résolu le problème d'installation de paquet pour moi.