sandbox-agent/examples/boxlite-python/setup_image.py
2026-02-25 02:18:16 -08:00

29 lines
871 B
Python

"""Build the sandbox-agent Docker image and export it to OCI layout."""
import os
import subprocess
DOCKER_IMAGE = "sandbox-agent-boxlite"
OCI_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "oci-image")
def setup_image() -> None:
dockerfile_dir = os.path.dirname(os.path.abspath(__file__))
print(f'Building image "{DOCKER_IMAGE}" (cached after first run)...')
subprocess.run(
["docker", "build", "-t", DOCKER_IMAGE, dockerfile_dir],
check=True,
)
if not os.path.exists(os.path.join(OCI_DIR, "oci-layout")):
print("Exporting to OCI layout...")
os.makedirs(OCI_DIR, exist_ok=True)
subprocess.run(
[
"skopeo", "copy",
f"docker-daemon:{DOCKER_IMAGE}:latest",
f"oci:{OCI_DIR}:latest",
],
check=True,
)