"""DockerFreezer — snapshot a Docker bottle via `docker commit`.""" from __future__ import annotations from .. import ActiveAgent from ..freeze import Freezer from .util import commit_container from ...log import info class DockerFreezer(Freezer): """Freezes a Docker bottle by running `docker commit`.""" backend_name = "docker" def _freeze(self, agent: ActiveAgent) -> str: container = f"bot-bottle-{agent.slug}" image_tag = f"bot-bottle-committed-{agent.slug}:latest" commit_container(container, image_tag) return image_tag def _export_hint(self, slug: str, image_ref: str) -> None: info(f"to export for migration: docker save {image_ref} -o {slug}.tar")