Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Installation Finch zur Verwendung mit der AWS SAM CLI
Finch AWS ist ein Container-Entwicklungstool, das eine Alternative zu Docker MacOS- und Linux-Systemen bietet und besonders vorteilhaft ist. Weitere Informationen finden Sie unter Finch unter GitHub
Anmerkung
Sie müssen Finch Ihre Anwendungen lokal testen, Bereitstellungspakete mithilfe der --use-container Option erstellen und OCI-Image-Funktionen erstellen. Ab AWS SAM CLI-Version 1.145.0 unterstützt AWS SAM CLI Finch als alternative Container-Laufzeit zu. Docker
Topics
Installation von Finch
Folgen Sie diesen Anweisungen, um die Installation Finch auf Ihrem Betriebssystem durchzuführen.
Voraussetzungen
Anmerkung
FinchDie Integration in AWS SAM CLI ist auf macOS- und Linux-Systemen verfügbar. Windows-Benutzer sollten aus Finch Funktionsgründen die Verwendung einer virtuellen Maschine oder einer Linux-Umgebung in Betracht ziehen.
macOS-Versionen:
macOS 15 Sequoia
macOS 14 Sonoma
Anmerkung
Finchunterstützt die neuesten beiden Versionen von macOS.
Linux:
Linux Kernel v4.x +
Finch installieren
Installieren Sie Finch unter macOS wie folgt
-
Installieren Sie Finch mit der
brewCLI. Wenn Sie dazu aufgefordert werden, geben Sie Ihr macOS-Passwort ein.$brew install finch -
Überprüfen Sie die installierte Finch Version.
$finch --version -
Initialisieren Sie die Finch virtuelle Maschine (Erstinstallation).
$finch vm init -
Starten Sie die Finch virtuelle Maschine.
$finch vm start -
Überprüfen Sie den Status der Finch virtuellen Maschine.
$finch vm status -
Stellen Sie sicher, dass das korrekt Finch läuft.
$finch --info$finch ps
Weitere Informationen finden Sie unter Finch auf macOS installieren
Sie können die Installation Finch unter Amazon Linux, Ubuntu oder mithilfe einer generischen Installationsmethode durchführen. Weitere Informationen finden Sie unter Finch unter Linux installieren
Konfiguration Finch mit AWS SAM CLI
Nach der Installation Finch erkennt die AWS SAM CLI automatisch und verwendet Finch sie als Container-Runtime, wenn sie Docker nicht ausgeführt wird.
Anmerkung
Finchdient als Fallback fürDocker. Wenn Sie beide Finch installiert haben Docker und ausgeführt werden, priorisiert AWS SAM CLI Docker standardmäßig.
Konfiguration der Administratoreinstellungen (macOS)
Sie können AWS SAM CLI so konfigurieren, dass eine bestimmte Container-Laufzeit als Standard verwendet wird, indem Sie eine Administrator-Einstellungsdatei erstellen. Diese systemweite Einstellung setzt das standardmäßige Fallback-Verhalten außer Kraft.
Verfügbare Konfigurationsoptionen
-
FinchAls bevorzugte Container-Laufzeit festlegen:
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string finch" /Library/Preferences/com.amazon.samcli.plist -
DockerAls bevorzugte Container-Laufzeit festlegen:
$sudo /usr/libexec/PlistBuddy -c "Add :DefaultContainerRuntime string docker" /Library/Preferences/com.amazon.samcli.plist -
Einstellung entfernen (zum Standardverhalten zurückkehren):
$sudo /usr/libexec/PlistBuddy -c "Remove :DefaultContainerRuntime" /Library/Preferences/com.amazon.samcli.plist
Anmerkung
Wenn keine Administratoreinstellung festgelegt ist, verwendet AWS SAM CLI Docker standardmäßig, sofern verfügbar, und Finch als Fallback, wenn sie nicht ausgeführt Docker wird.
Unterschiede beim Einhängen von Verzeichnissen (macOS)
Unter macOS schlagen AWS SAM lokale Befehle fehl, wenn Sie Ihr Projekt außerhalb Ihres Home-Verzeichnisses (~) oder suchen/Volumes. Dieses Design schränkt das automatische Einbinden von Verzeichnissen aus Sicherheitsgründen ohne Ihr Wissen ein.
Optionen zur Schadensbegrenzung
-
Option 1: Öffnen Sie die Finch-Konfiguration in einem Texteditor
~/.finch/finch.yamlund fügen Sie Ihren Projektpfad unter demadditional_directoriesAbschnitt hinzu. Starten Sie dann die Finch virtuelle Maschine neu. Weitere Informationen finden Sie in der Finch-Dokumentation. $finch vm stop$finch vm start -
Option 2: Verschieben Sie Ihr Projekt in Ihr Home-Verzeichnis.
Die Installation wird überprüft
Stellen Sie nach der Installation und dem Start sicherFinch, dass es mit AWS SAM CLI funktioniert.
Grundlegende Überprüfung
Führen Sie den folgenden Befehl aus, um zu überprüfen, ob AWS SAM CLI Folgendes verwenden kannFinch:
$sam build --use-container
Sie sollten sehen, wie AWS SAM CLI verwendet wirdFinch, um Ihre Anwendung in einer Containerumgebung zu erstellen.
Anmerkung
Finchdient als Ausweichlösung fürDocker. Wenn ausgeführt Docker wird, priorisiert AWS SAM CLI Docker standardmäßig.
Testen Finch als Fallback
Um Finch als Fallback zu testen, wenn Docker es läuft, müssen Sie zuerst aufhörenDocker.
Um die Finch Fallback-Funktionalität zu testen
-
DockerVerwenden Sie nicht mehr die entsprechenden Befehle für Ihr Betriebssystem.
macOS:
$docker stop $(docker ps -q)$pkill -f "Docker Desktop"Verify Docker wurde gestoppt.
$docker psLinux:
$docker stop $(docker ps -q)$sudo systemctl stop dockerVerify Docker wurde gestoppt.
$sudo systemctl status docker -
Führen Sie den
sam build --use-containerBefehl aus, um zu überprüfen, ob AWS SAM CLI ihn automatisch Finch als Fallback verwendet.
Stoppen von Finch
Wenn Sie den Vorgang beenden müssenFinch, verwenden Sie die folgenden Befehle:
macOS:
$finch vm stop$sudo pkill -f finch
Verify Finch wurde gestoppt.
$finch vm status
Linux:
$sudo systemctl stop finch$sudo pkill -f finch
Verify Finch wurde gestoppt.
$sudo systemctl status finch
Fehlerbehebung
Wenn Sie auf Probleme stoßen mitFinch:
Stellen Sie sicher, dass Ihr Betriebssystem die Voraussetzungen erfüllt.
Stellen Sie sicher, dass Sie die Virtualisierung auf Ihrem System aktiviert haben.
Stellen Sie für macOS sicher, dass Sie über ausreichend Festplattenspeicher für die virtuelle Maschine verfügen.
Stellen Sie für Linux sicher, dass Sie über die erforderlichen Berechtigungen zum Ausführen von
systemctlBefehlen verfügen.Wenn Sie beim Übertragen von Images mit mehreren Architekturen an Amazon Elastic Container Registry (Amazon ECR) CloudFormation Bereitstellungsfehler mit der Fehlermeldung „Medientyp nicht unterstützt“ feststellen, erstellen Sie ein einzelnes Image-Artefakt, anstatt Images mit mehreren Architekturen zu verwenden. Dies liegt daran, Finch dass sowohl der Bildindex als auch das Bild an Amazon ECR übertragen werden, während nur das Docker Bild übertragen wird.
Wenn plattformübergreifendes Erstellen fehlschlägt, weil die Architektur der Zielfunktion nicht mit der Architektur des Host-Computers unter Linux übereinstimmt, aktivieren Sie die plattformübergreifende Emulation, indem Sie Folgendes ausführen.
sudo finch run --privileged --rm tonistiigi/binfmt:master --install all
Weitere Informationen zur Fehlerbehebung finden Sie in der Finch-Dokumentation
Nächste Schritte
Nachdem Sie es Finch installiert haben, können Sie es mit AWS SAM CLI verwenden, um:
Erstellen Sie serverlose Anwendungen mithilfe von Containern mit
sam build --use-container. Weitere Informationen finden Sie unter sam build.Testen Sie Lambda-Funktionen lokal mit
sam local invoke. Weitere Informationen finden Sie unter sam local invoke.Starten Sie ein lokales API Gateway mit
sam local start-api. Weitere Informationen finden Sie unter sam local start-api.Starten Sie einen lokalen Lambda-Endpunkt mit
sam local start-lambda. Weitere Informationen finden Sie unter sam local start-lambda.
Weitere Informationen zur Verwendung von AWS SAM CLI mit Containern finden Sie unterStandardbuild mit AWS SAM.