Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Instalación Finch para su uso con la AWS SAM CLI
Finch AWS es una herramienta de desarrollo de contenedores que ofrece una alternativaDocker, especialmente beneficiosa en los sistemas macOS y Linux. Para obtener más información, consulte Finch en GitHub
nota
Necesita Finch para probar las aplicaciones de forma local, para crear paquetes de implementación mediante la opción --use-container y para crear funciones de imagen de OCI. A partir de la versión 1.145.0 de la AWS SAM CLI, la AWS SAM CLI es compatible con Finch el tiempo de ejecución de contenedores alternativo a. Docker
Temas
Instalación de Finch
Siga estas instrucciones para instalar Finch en su sistema operativo.
Requisitos previos
nota
Finchla integración en AWS SAM CLI está disponible en los sistemas macOS y Linux. Para los usuarios de Windows, evalúe la posibilidad de utilizar una máquina virtual o un entorno Linux para la funcionalidad de Finch.
Versión para macOS:
macOS 15 Sequoia
macOS 14 Sonoma
nota
Finch es compatible con las dos últimas versiones de macOS.
Linux:
Linux Kernel v4.x+
Instalación de Finch
Para instalar Finch en macOS
-
Instale Finch mediante la CLI de
brew. Si se le solicita, escriba su contraseña de macOS.$brew install finch -
Compruebe la versión Finch instalada.
$finch --version -
Inicialice la máquina virtual de Finch (configuración inicial).
$finch vm init -
Inicie la máquina virtual de Finch.
$finch vm start -
Compruebe el estado de la máquina virtual de Finch.
$finch vm status -
Compruebe que Finch se ejecute correctamente.
$finch --info$finch ps
Para obtener más información, consulte la Instalación de Finch en macOS
Puede instalar Finch en Amazon Linux, Ubuntu o mediante un método de instalación genérico. Para obtener más información, consulte la Instalación de Finch en Linux
Configurar Finch con la CLI de AWS SAM
Tras la instalaciónFinch, la AWS SAM CLI detecta y utiliza automáticamente Finch como tiempo de ejecución del contenedor cuando Docker no se ejecuta.
nota
Finch sirve como alternativa para Docker. Si tiene ambos Finch instalados Docker y en ejecución, la AWS SAM CLI prioriza de forma Docker predeterminada.
Configuración de preferencias de administrador (macOS)
Puede configurar la AWS SAM CLI para que utilice un tiempo de ejecución de contenedor específico como predeterminado mediante la creación de un archivo de preferencias del administrador. Esta preferencia de todo el sistema anula el comportamiento alternativo predeterminado.
Métodos de configuración disponibles
-
Definir Finch como tiempo de ejecución de contenedor preferido:
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist -
Definir Docker como tiempo de ejecución de contenedor preferido:
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist -
Eliminar la preferencia (volver al comportamiento predeterminado):
$sudo /usr/libexec/PlistBuddy -c "Remove :DefaultContainerRuntime" /Library/Preferences/com.amazon.samcli.plist
nota
Cuando no se establece ninguna preferencia de administrador, la AWS SAM CLI la utiliza de forma Docker predeterminada cuando está disponible, y Finch como alternativa cuando no Docker se está ejecutando.
Diferencias de montaje de directorios (macOS)
En macOS, los comandos AWS SAM locales fallan si ubicas el proyecto fuera del directorio principal (~) o/Volumes. Este diseño restringe el montaje de directorios automático por motivos de seguridad sin su consentimiento.
Opciones de mitigación
-
Opción 1: abra la configuración de Finch en un editor de texto
~/.finch/finch.yamly agregue la ruta del proyecto en la secciónadditional_directories, y luego reinicie la máquina virtual de Finch. Para obtener información adicional, consulte la documentación de Finch. $finch vm stop$finch vm start -
Opción 2: mueva el proyecto a su directorio principal.
Verificar la instalación
Después de instalarlo e iniciarloFinch, compruebe que funciona con AWS SAM CLI.
Verificación básica
Ejecute el siguiente comando para comprobar que la AWS SAM CLI puede utilizarFinch:
$sam build --use-container
Debería ver cómo se utiliza la AWS SAM CLI Finch para crear la aplicación en un entorno de contenedores.
nota
Finch sirve como alternativa para Docker. Si Docker se está ejecutando, la AWS SAM CLI priorizará Docker de forma predeterminada.
Probar Finch como alternativa
Para probar Finch como alternativa cuando Docker se está ejecutando, primero debe detener Docker.
Cómo probar la funcionalidad de la alternativa Finch
-
Detenga Docker con los comandos apropiados para el sistema operativo.
macOS:
$docker stop $(docker ps -q)$pkill -f "Docker Desktop"Verifique que Docker esté detenido.
$docker psLinux:
$docker stop $(docker ps -q)$sudo systemctl stop dockerVerifique que Docker esté detenido.
$sudo systemctl status docker -
Ejecute el
sam build --use-containercomando para verificar que la AWS SAM CLI Finch lo utilice automáticamente como respaldo.
Detener Finch
Si necesita detener Finch, utilice los siguientes comandos:
macOS:
$finch vm stop$sudo pkill -f finch
Verifique que Finch esté detenido.
$finch vm status
Linux:
$sudo systemctl stop finch$sudo pkill -f finch
Verifique que Finch esté detenido.
$sudo systemctl status finch
Resolución de problemas
Si tiene problemas con Finch:
Compruebe que el sistema operativo cumpla los requisitos previos.
Compruebe que ha habilitado la virtualización en el sistema.
Para macOS, compruebe que tiene suficiente espacio en disco para la máquina virtual.
Para Linux, compruebe que tiene los permisos adecuados para ejecutar los comandos
systemctl.Si encuentra errores de CloudFormation implementación con errores de «tipo de medio no compatible» al insertar imágenes de varias arquitecturas en Amazon Elastic Container Registry (Amazon ECR), cree un único artefacto de imagen en lugar de utilizar imágenes de varias arquitecturas. Esto ocurre porque Finch empuja el índice de la imagen y la imagen a Amazon ECR, mientras que Docker solo empuja la imagen.
Si la creación entre plataformas falla porque la arquitectura de la función de destino no coincide con la arquitectura de la máquina host en Linux, habilite la emulación entre plataformas mediante la ejecución
sudo finch run --privileged --rm tonistiigi/binfmt:master --install all.
Para obtener información adicional sobre la solución de problemas, consulte la documentación de Finch
Siguientes pasos
Ahora que lo ha Finch instalado, puede usarlo con AWS SAM CLI para:
Crear aplicaciones sin servidor mediante contenedores con
sam build --use-container. Para obtener más información, consulte sam build.Probar las funciones de Lambda de forma local con
sam local invoke. Para obtener más información, consulte sam local invoke.Iniciar una API Gateway local con
sam local start-api. Para obtener más información, consulte sam local start-api.Iniciar un punto de conexión de Lambda local con
sam local start-lambda. Para obtener más información, consulte sam local start-lambda.
Para obtener más información sobre el uso de AWS SAM CLI con contenedores, consulteCompilación predeterminada con AWS SAM.