Sobre el proyecto

container es una herramienta de línea de comandos de Apple para crear y ejecutar contenedores Linux como máquinas virtuales ligeras en un Mac. Está escrita en Swift y optimizada para Apple silicon. La herramienta consume y produce imágenes de contenedor compatibles con OCI, por lo que las imágenes se pueden extraer y publicar en cualquier registro de contenedores estándar y ejecutarse en otras aplicaciones compatibles con OCI. Internamente, depende del paquete Swift Containerization para la gestión de bajo nivel de contenedores, imágenes y procesos. Requisitos y soporte de plataforma: se requiere un Mac con Apple silicon, y la herramienta es compatible con macOS 26, aprovechando las funciones de virtualización y red de esa versión. Las versiones anteriores de macOS no son compatibles. La instalación se realiza mediante un paquete de instalador firmado desde la página de lanzamientos de GitHub, que coloca los archivos en /usr/local. El servicio del sistema se inicia con `container system start`. Un primer contenedor se puede ejecutar con `container run --rm alpine echo hello`, que extrae la imagen alpine, la ejecuta en una VM Linux ligera, imprime la salida y elimina el contenedor al salir. La actualización y la degradación se gestionan reinstalando el paquete firmado o usando el script update-container.sh instalado; el servicio existente debe detenerse primero. Para degradar, es necesario desinstalar la versión actual, conservando opcionalmente los datos del usuario con la bandera -k o eliminándolos con -d. La desinstalación usa uninstall-container.sh con las mismas opciones de retención de datos. La documentación incluye un tutorial guiado que construye, ejecuta y publica una imagen simple de servidor web, guías de procedimientos, una visión general técnica, una referencia completa de comandos, instrucciones de compilación y documentación de API generada. Las contribuciones son bienvenidas a través de la guía de contribución del proyecto. El proyecto está en desarrollo activo, y sus versiones de lanzamiento son versiones de producto, no versiones semánticas. La compatibilidad de la CLI generalmente se conserva dentro de un lanzamiento principal, aunque ocasionalmente pueden ser necesarios cambios disruptivos; las funciones marcadas como experimentales, como el subcomando k8s, pueden cambiar sin garantías de compatibilidad retroactiva. La API XPC container-apiserver conserva la compatibilidad directa e inversa dentro de una versión principal, mientras que otros ayudantes XPC no públicos no garantizan compatibilidad entre versiones. Los datos de aplicación proporcionan compatibilidad solo directa, garantizada dentro de una versión principal, y actualizar a una versión principal más nueva puede requerir una ruta de actualización específica.