Tips for Using Containers on Shared Infrastructure (JLab)
Running containers on shared scientific infrastructure like the JLab farm (ifarm/farm) has important caveats. Below is a checklist of key points and best practices for new users.
Podman vs Docker
- At JLab,
docker
is an alias for Podman, which runs containers rootless by default. - This means:
- You are only root inside the container.
- Outside, container file operations are executed with your normal user permissions.
Default Storage Location
- Containers use storage space in
/u/home/$USER
by default, which is limited. - To avoid running out of space, modify your container storage configuration.
Changing Container Storage Location
Edit ~/.config/containers/storage.conf
:
[storage]
driver = "overlay"
runroot = "/run/user/9943/containers"
graphroot = "/scratch/YOUR_USERNAME/podman-storage"
[storage.options]
mount_program = "/usr/bin/fuse-overlayfs"