pythainer: composable and reusable Docker builders and runners for reproducible research
Abstract
Software experiments today often depend on complex Linux environments that combine several toolchains, devices, and graphical interfaces.Many research projects (Mayoral-Vilches et al., 2022;Millane et al., 2024), for instance, need to compose ROS 2 (Macenski et al., 2022) with CUDA (CUDA C++ Programming Guide, 2025), require non-root users, provide GPU and GUI access, and must be reproducible across time and machines.Docker (Docker, Inc., 2013) is a widely adopted substrate for packaging and running such environments, and is commonly used to improve reproducibility in research software (Tani et al., 2020).However, writing and maintaining Dockerfiles and project-specific docker run scripts becomes a burden as requirements grow.pythainer raises the level of abstraction while remaining Docker-native.It lets users describe images as small, testable Python builders that can be composed (e.g., ROS 2 + CUDA) and executed with reusable runners that capture runtime policy (GPU, GUI, users, mounts).pythainer renders deterministic Dockerfiles, builds standard images, and centralizes run configuration, hence improving reuse and reducing duplication across repositories.
Fields of Study & Subjects
Scientific Computing and Data Management
Cell Image Analysis Techniques
Academic Publishing and Open Access
Publication details
- Journal / source
- The Journal of Open Source Software
- Publisher
- The Open Journal
- Volume
- 11
- Issue
- 117
- Pages
- 9059–9059
- Publication date
- 9 January 2026