User Tools

Site Tools


tutoriais:apptainer

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tutoriais:apptainer [2024-03-19 16:23] – [Imagens pré-baixadas] gnanntutoriais:apptainer [2025-05-22 16:03] (current) david-local
Line 9: Line 9:
 Abaixo um guia de como rodar um programa dentro do ambiente (no caso, o R). Abaixo um guia de como rodar um programa dentro do ambiente (no caso, o R).
  
-==== Imagens pré-baixadas ==== 
-Para facilitar, deixaremos algumas imagens baixadas em ''/opt/apptainer''. 
  
-Para rodar o R com a imagem ml-verse:+==== Executando uma imagem ====
  
-  apptainer exec /opt/apptainer/ml-verse_latest.sif R +As imagens são ambientes com as dependências necessárias para que o programa funcione, por isso é preciso primeiro baixá-las<WRAP>++++ Clique para ver os passos |
  
-Rodar o ''Rscript'' é análogo. +Para baixar uma imagem podemos usar o subcomando ''pull'', como:
- +
-Para rodar o RStudio, siga [[o guia|servicos:rstudio]]. +
- +
-==== Baixando uma imagem ==== +
- +
-As imagens do Apptainer são ambientes com as dependências necessárias para que o programa funcionar. Para baixar uma imagem podemos usar o subcomando ''pull'', como:+
  
   apptainer pull docker://rocker/ml-verse   apptainer pull docker://rocker/ml-verse
Line 29: Line 21:
  
 O comando aceita URIs que apontem para imagens que seguem o padrão OCI. Imagens de docker como a do exemplo costumam funcionar. O comando aceita URIs que apontem para imagens que seguem o padrão OCI. Imagens de docker como a do exemplo costumam funcionar.
-==== Executando uma imagem ==== 
  
-Para executar a imagem, utilizamos o subcomando ''apptainer run'', especificando o nome do arquivo da imagem:+++++ 
 +</WRAP> 
 + 
 +Com o objetivo de facilitar, **deixaremos algumas imagens pré-baixadas em ''/opt/apptainer''**. 
 + 
 +Para executar, utilizamos o comando ''exec'' no escopo da imagem. Como exemplo, utilizaremos a ml-verse (já disponivel nas máquinas):
  
 <code bash> <code bash>
-# não deve funcionar, pois o container chama o RStudio por padrão e precisará de alguns bind mounts +  apptainer exec --nv /opt/apptainer/ml-verse_latest.sif 
-apptainer run ml-verse_latest.sif+
 </code> </code>
  
-Também é possível executar um comando no escopo da imagem:+Ao executar comando, o apptainer irá criar um container baseado na imagem e executar o programa.
  
-  apptainer exec ml-verse_latest.sif R+Rodar o ''Rscript'' é análogo. 
 + 
 +Para rodar o RStudio, siga [[servicos:rstudio|o guia]].
  
-Ao executar o comando, o apptainer irá criar um container baseado na imagem e executar o programa. 
 ==== Particularidades do ambiente ==== ==== Particularidades do ambiente ====
  
 O apptainer irá automaticamente disponibilizar seu ''$HOME'' dentro do ambiente, então seus arquivos devem continuar a ser acessíveis normalmente. A maior diferença se dá nas bibliotecas e outras dependências inclusas na imagem. Caso algum pacote dependa de bibliotecas que não estejam inclusas, o ideal é baixar ou criar uma imagem mais completa. O apptainer irá automaticamente disponibilizar seu ''$HOME'' dentro do ambiente, então seus arquivos devem continuar a ser acessíveis normalmente. A maior diferença se dá nas bibliotecas e outras dependências inclusas na imagem. Caso algum pacote dependa de bibliotecas que não estejam inclusas, o ideal é baixar ou criar uma imagem mais completa.
 +
 +Para instalar pacotes é preciso configurar o .libPaths(). No R, rodar:
 +<code>
 +dir.create(Sys.getenv('R_LIBS_USER'), recursive=TRUE)
 +.libPaths(Sys.getenv('R_LIBS_USER'))
 +</code>
 +Por padrão isso resultará em pacotes instalados em seu ''$HOME'' na pasta ''R''. É possível alterar a variável de ambiente para mexer nesse comportamento.
  
 ==== Particularidades dos servidores do IME ==== ==== Particularidades dos servidores do IME ====
tutoriais/apptainer.1710876184.txt.gz · Last modified: by gnann

Except where otherwise noted, content on this wiki is licensed under the following license: Public Domain
Public Domain Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki