lablup / lablup/backend.ai

Support committing and pushing a container image from a running session

Open
#563 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.