Support committing and pushing a container image from a running session
- Dominant language
- Python
- Stars
- 670
- Forks
- 183
- Avg merge
- 17h 7m
- Merged PRs (30d)
- 358
Description
There are several customer requests for supporting "freezing" their current compute sessions.
Historically, we _intentionally_ have not added this feature due to _inherent volatility_ and _security restrictions_ of Docker containers. The filesystem that users see in the sessions is **a composition of multiple local/remote filesystems**, such as the container image, vfolders, and scratch directories. For security, we don't expose the root user inside the container by default, so there is usually no way to modify the container filesystem provided by the image because all system packages and directories are owned by root.
To allow installation of additional packages using user-site paths in Python (`pip install --user`) and make it persistent across different compute sessions, we have added the following features:
- #98
- #99
- auto-mounting dot-prefixed vfolders (such as `~/.config`, `~/.local`)
Nevertheless, many HPC/AI customers want to use the containers like VMs, and it is not easy to fill the conceptual gap between the volatile & hermetic nature of containers and the full ownership of volume data of VMs.
So, despite whatever additional cautions required when committing a Backend.AI compute session, let's make it technically available.
JIRA Issue: BA-259
Contributor guide
Assessment
This issue has not been assessed yet.