Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Installazione Finch per l'uso con la AWS SAM CLI
Finch AWSè lo strumento di sviluppo di container che fornisce un'alternativaDocker, particolarmente utile, sui sistemi macOS e Linux. Per ulteriori informazioni, vedere Finch on. GitHub
Nota
È necessario testare Finch le applicazioni localmente, creare pacchetti di distribuzione utilizzando l'--use-containeropzione e creare funzioni di immagine OCI. A partire dalla versione AWS SAM CLI 1.145.0, AWS SAM CLI Finch supporta come alternativa il runtime del contenitore a. Docker
Argomenti
Installazione di Finch
Segui queste istruzioni per l'installazione Finch sul tuo sistema operativo.
Prerequisiti
Nota
Finchl'integrazione nella AWS SAM CLI è disponibile su sistemi macOS e Linux. Per gli utenti Windows, valuta la possibilità di utilizzare una macchina virtuale o un ambiente Linux per Finch motivi di funzionalità.
Versioni macOS:
macOS 15 Sequoia
macOS 14 Sonoma
Nota
Finchsupporta le ultime due versioni di macOS.
Linux:
Linux Kernel v4.x+
Installazione di Finch
Per installare Finch su macOS
-
Installa Finch utilizzando la
brewCLI. Se richiesto, inserisci la password di macOS.$brew install finch -
Controlla la versione installata. Finch
$finch --version -
Inizializza la macchina Finch virtuale (prima configurazione).
$finch vm init -
Avvia la macchina Finch virtuale.
$finch vm start -
Controlla lo stato della macchina Finch virtuale.
$finch vm status -
Verifica che Finch funzioni correttamente.
$finch --info$finch ps
Per ulteriori informazioni, consulta Installazione di Finch su macOS
Puoi eseguire l'installazione Finch su Amazon Linux, Ubuntu o utilizzando un metodo di installazione generico. Per ulteriori informazioni, consulta Installazione di Finch su Linux
Configurazione Finch con CLI AWS SAM
Dopo l'installazioneFinch, la AWS SAM CLI rileva e utilizza automaticamente Finch come runtime del contenitore quando Docker non viene eseguita.
Nota
Finchfunge da riserva a. Docker Se le hai entrambe Finch installate Docker e funzionanti, la AWS SAM CLI dà la priorità Docker per impostazione predefinita.
Configurazione delle preferenze dell'amministratore (macOS)
È possibile configurare la AWS SAM CLI per utilizzare un runtime di contenitore specifico come predefinito creando un file delle preferenze dell'amministratore. Questa preferenza a livello di sistema sostituisce il comportamento di fallback predefinito.
Opzioni di configurazione disponibili
-
Imposta Finch come runtime preferito del contenitore:
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist -
Imposta Docker come runtime preferito del contenitore:
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist -
Rimuovi preferenza (ritorno al comportamento predefinito):
$sudo /usr/libexec/PlistBuddy -c "Remove :DefaultContainerRuntime" /Library/Preferences/com.amazon.samcli.plist
Nota
Quando non è impostata alcuna preferenza dell'amministratore, la AWS SAM CLI utilizza Docker per impostazione predefinita quando disponibile, Finch mentre come riserva quando non Docker è in esecuzione.
Differenze di montaggio delle directory (macOS)
Su macOS, i comandi AWS SAM locali falliscono se localizzi il progetto fuori dalla tua home directory (~) o. /Volumes Questo design limita il montaggio automatico delle directory per motivi di sicurezza a tua insaputa.
Opzioni di mitigazione
-
Opzione 1: apri la configurazione di Finch in un editor di testo
~/.finch/finch.yamle aggiungi il percorso del progetto nellaadditional_directoriessezione, quindi riavvia la Finch macchina virtuale. Per ulteriori informazioni, consultate la documentazione di Finch.$finch vm stop$finch vm start -
Opzione 2: spostate il progetto nella vostra home directory.
Verifica dell'installazione
Dopo l'installazione e l'avvioFinch, verifica che funzioni con la AWS SAM CLI.
Verifica di base
Esegui il comando seguente per verificare che la AWS SAM CLI possa utilizzare: Finch
$sam build --use-container
Dovresti vedere l'uso della AWS SAM CLI Finch per creare la tua applicazione in un ambiente container.
Nota
Finchfunge da riserva a. Docker Se Docker è in esecuzione, la AWS SAM CLI assegnerà la priorità Docker per impostazione predefinita.
Test Finch come fallback
Per eseguire Finch il test come fallback quando Docker è in esecuzione, devi prima Docker fermarti.
Per testare la funzionalità di Finch fallback
-
Smetti Docker di usare i comandi appropriati per il tuo sistema operativo.
macOS:
$docker stop $(docker ps -q)$pkill -f "Docker Desktop"DockerLa verifica è stata interrotta.
$docker psLinux:
$docker stop $(docker ps -q)$sudo systemctl stop dockerDockerLa verifica è stata interrotta.
$sudo systemctl status docker -
Esegui il
sam build --use-containercomando per verificare che la AWS SAM CLI venga utilizzata automaticamente Finch come fallback.
Interrompere Finch
Se devi fermartiFinch, usa i seguenti comandi:
macOS:
$finch vm stop$sudo pkill -f finch
FinchLa verifica è stata interrotta.
$finch vm status
Linux:
$sudo systemctl stop finch$sudo pkill -f finch
FinchLa verifica è stata interrotta.
$sudo systemctl status finch
Risoluzione dei problemi
Se riscontri problemi conFinch:
Verifica che il tuo sistema operativo soddisfi i prerequisiti.
Verifica di aver abilitato la virtualizzazione sul tuo sistema.
Per macOS, verifica di disporre di spazio su disco sufficiente per la macchina virtuale.
Per Linux, verifica di disporre delle autorizzazioni appropriate per eseguire
systemctli comandi.Se riscontri errori di CloudFormation distribuzione con errori «tipo di supporto non supportato» quando invii immagini multiarchitettura ad Amazon Elastic Container Registry (Amazon ECR), crea un singolo elemento di immagine anziché utilizzare immagini multiarchitettura. Ciò si verifica perché Finch invia sia l'indice dell'immagine che l'immagine ad Amazon ECR, mentre Docker invia solo l'immagine.
Se la creazione multipiattaforma fallisce quando l'architettura della funzione di destinazione non corrisponde all'architettura della macchina host su Linux, abilita l'emulazione multipiattaforma eseguendo.
sudo finch run --privileged --rm tonistiigi/binfmt:master --install all
Per ulteriori informazioni sulla risoluzione dei problemi, consulta la documentazione di Finch o
Passaggi successivi
Ora che hai Finch installato, puoi usarlo con la AWS SAM CLI per:
Crea applicazioni serverless utilizzando contenitori con.
sam build --use-containerPer ulteriori informazioni, consulta sam build.Testa le funzioni Lambda localmente con.
sam local invokePer ulteriori informazioni, consulta sam local invoke.Avvia un API Gateway locale con
sam local start-api. Per ulteriori informazioni, consulta sam local start-api.Avvia un endpoint Lambda locale con.
sam local start-lambdaPer ulteriori informazioni, consulta sam local start-lambda.
Per ulteriori informazioni sull'utilizzo della AWS SAM CLI con i contenitori, consulta. Compilazione predefinita con AWS SAM