Named Volumes by realrajaryan · Pull Request #362 · apple/container
Closes #339.
This change adds named volume support to container, providing volume management CLI commands - create, delete, list and inspect. The implementation uses EXT4 block-based persistent storage with a new VolumesService actor for thread-safe operations, integrates seamlessly with the existing container mount system through a new .volume filesystem type, and provides atomic volume operations with XPC-based API communication. Volumes are stored in isolated directories with configurable sizes (default 512GB) and include proper cleanup and container usage tracking for safe deletion.
Example Usage:
# Create a volume
container volume create mydata
# Use volume in container
container run -v mydata:/data alpine
# List volumes
container volume list
# Inspect volume details
container volume inspect mydata
# Clean up
container volume rm mydata