Erstellen Sie eine lokale Entwicklungsumgebung mit WSL + Docker Desktop für Windows + Docker-Lambda + Python

Überblick

Weil ich eine lokale Entwicklungsumgebung für AWS Lambda unter Windows erstellen musste Ich werde mein eigenes Bauverfahren als Memorandum beschreiben. ** Ich möchte mit Bezug auf den wunderbaren Artikel ** fortfahren, der einfach dadurch konstruiert werden kann.

Umweltinformationen

Vorausgesetztes Wissen

WSL bauen

Mit Ausnahme von "Bonus" und "Deinstallieren" unter Bezugnahme auf den wunderbaren Artikel unten

Installieren / Deinstallieren von WSL

Installieren Sie Docker Desktop unter Windows

Mit Ausnahme von "Bonus" und "Deinstallieren" unter Bezugnahme auf den wunderbaren Artikel unten ** Wenn der Docker-Desktop für Windows Docker-Daemon über die WSL verfügbar gemacht wird ** Überprüfen Sie unter ** Freigegebene Laufwerke ** das Laufwerk mit Ihrem lokalen Arbeitsverzeichnis.

Docker-Desktop für Windows + Docker-Umgebung mit WSL

Bereiten Sie die Quelle vor

Wir haben eine Vorlage für die in diesem Artikel auf GitHub verwendete Quelle vorbereitet. Es wird unter der MIT-Lizenz über den unten stehenden Link veröffentlicht. Fühlen Sie sich frei, es zu benutzen.

Quellcode-Vorlage herunterladen

Registrieren Sie einen Alias

Da die neue Lambda-Funktion basierend auf der Vorlagenquelle erstellt wird, Es wird davon ausgegangen, dass die Befehle beim Ausführen von Docker immer konstant sind. Es ist schwierig, es jedes Mal einzugeben. Registrieren Sie den Alias daher im Voraus in der WSL.

Öffnen Sie .bash_aliases mit vim (erstellen Sie eine neue, wenn nicht)

~$ sudo vim ~/.bash_aliases && source ~/.bash_aliases

Fügen Sie .bash_aliases den folgenden Befehl hinzu

.bash_aliases


alias docrun='docker run -v $(wslpath -m $PWD):/var/task --env-file .env lambci/lambda:python3.6 lambda_function.lambda_handler $(printf "%s" $(cat event.json))'

Es ist einfach, aber ich werde den Inhalt von "docrun" erklären.

docker run Erstellen Sie einen Container und führen Sie ihn aus einem Docker-Image aus

-v $(wslpath -m $PWD):/var/task: ** Host-Betriebssystemverzeichnis: Das Volume wird im Containerverzeichnis zugewiesen **.

/mnt/d/Program/Python/AWS/docker-lambda $ echo $PWD
/mnt/d/Program/Python/AWS/docker-lambda

Um dies in den Pfad der lokalen Umgebung umzuwandeln

/mnt/d/Program/Python/AWS/docker-lambda $ echo $(wslpath -m $PWD)
D:/Program/Python/AWS/docker-lambda

Es wird gesagt.

--env-file .env Lesen Sie die Umgebungsvariablendatei.

lambci/lambda:python3.6 Ein Docker-Image wird angegeben.

lambda_function.lambda_handler Ich versuche, lambda_handler in lambda_function.py auszuführen.

$(printf "%s" $(cat event.json)) Wir übergeben den Inhalt von event.json an das Ereignisargument von lambda_handler.

Versuchen Sie, die Lambda-Funktion auszuführen

Windows

Kopieren Sie die Vorlagenquelldatei in Ihr Arbeitsverzeichnis. (Hier ist es D: \ Program \ Python \ AWS \ docker-lambda.)

WSL

Wechseln Sie in das Arbeitsverzeichnis

~$ cd /mnt/d/Program/Python/AWS/docker-lambda/

Führen Sie die Lambda-Funktion aus

/mnt/d/Program/Python/AWS/docker-lambda $ docrun
START RequestId: c02ba91d-7783-1719-3b5e-269dfb11c807 Version: $LATEST
event:{'Hello': 'World'}
ENV:LOCAL
END RequestId: c02ba91d-7783-1719-3b5e-269dfb11c807
REPORT RequestId: c02ba91d-7783-1719-3b5e-269dfb11c807  Init Duration: 439.63 ms        Duration: 4.32 ms       Billed Duration: 100 ms Memory Size: 1536 MB    Max Memory Used: 39 MB

"{\"message\": \"success\"}"

Wenn Sie es zum ersten Mal ausführen, beginnt es mit dem Ziehen des Docker-Images. Die Funktion wird ausgeführt, nachdem das Ziehen abgeschlossen ist. Wenn die obige Anzeige angezeigt wird, ist die Umgebungskonstruktion abgeschlossen.

Referenz

Installieren / Deinstallieren von WSL Docker-Desktop für Windows + Docker-Umgebung mit WSL Einfache Ausführung der AWS Lambda-Umgebung mit Docker-Lambda Ich habe gerade Docker gestartet und es daher leicht verständlich zusammengefasst

Schließlich

Ich werde es erklären, damit auch Anfänger es so gut wie möglich verstehen können. Wenn es etwas gibt, das schwer zu verstehen ist oder etwas nicht stimmt Ich würde mich freuen, wenn Sie einen Kommentar abgeben könnten.

Recommended Posts

Erstellen Sie eine lokale Entwicklungsumgebung mit WSL + Docker Desktop für Windows + Docker-Lambda + Python
[Memo] Erstellen Sie mit Docker eine Entwicklungsumgebung für Django + Nuxt.js
Erstellen Sie mit VSCode & Docker Desktop eine einfache Python-Entwicklungsumgebung
Erstellen Sie eine Windows Python-Ausführungsumgebung mit VScode + Remote WSL
Erstellen Sie mit dem Serverless Framework eine lokale Entwicklungsumgebung für Lambda + Python
[DynamoDB] [Docker] Erstellen Sie mit Docker-Compose eine Entwicklungsumgebung für DynamoDB und Django
Erstellen Sie eine lokale Entwicklungsumgebung für Laravel6.X auf Ihrem Mac
Erstellen Sie mit pyenv-virtualenv eine Python-Umgebung für jedes Verzeichnis
Erstellen Sie mit Python eine Entwicklungsumgebung für maschinelles Lernen
Erstellen Sie eine Entwicklungsumgebung mit Poetry Django Docker Pycharm
Erstellen Sie eine MySQL + Python-Umgebung mit Docker
Erstellen Sie mit Docker eine Django-Entwicklungsumgebung! (Docker-compose / Django / postgreSQL / nginx)
[Django] Erstellen Sie mit PyCharm schnell eine Entwicklungsumgebung für Django-Container (Docker)
Erstellen Sie eine GVim-basierte Python-Entwicklungsumgebung unter Windows 10 (2) Grundeinstellungen
Erstellen einer Entwicklungsumgebung für die Python2.7-Serie mit Vagrant
Erstellen Sie eine Python-Umgebung mit WSL + Pyenv + Jupyter + VSCode
Erstellen Sie mit Laragon ganz einfach eine Entwicklungsumgebung
Erstellen Sie mit Docker eine Jupyter Lab (Python) -Umgebung
Erstellen Sie eine 64-Bit-Python 2.7-Umgebung mit TDM-GCC und MinGW-w64 unter Windows 7
Erstellen einer Python 3.6-Umgebung mit Windows + PowerShell
Holen Sie sich mit Docker eine lokale Umgebung für DynamoDB
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Ich habe eine Entwicklungsumgebung für Django 3.0 mit Docker, Docker-Compose und Poetry erstellt
Erstellen Sie mit pyenv eine virtuelle Umgebung für Python
Erstellen Sie mit Neovim eine moderne Python-Umgebung
[Linux] Aufbau einer Docker-Umgebung mit Amazon Linux 2
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Einfache Konstruktion]
Erstellen Sie eine Python-Entwicklungsumgebung unter Windows (Remote-WSL für Visual Studio Code).
Erstellen Sie schnell eine Python-Umgebung für Deep Learning / Data Science (Windows)
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Erstellen Sie eine LAMP-Umgebung auf Ihrem lokalen Docker
Erstellen Sie einfach eine Python 3-Ausführungsumgebung unter Windows
Erstellen Sie eine Python-Entwicklungsumgebung mit Visual Studio Code
Erstellen Sie mit Sublime Text3 eine Python3-Build-Umgebung
Erstellen Sie eine Python-Entwicklungsumgebung auf Ihrem Mac
Erstellen Sie mit der Doker Toolbox eine Django-Entwicklungsumgebung
Erstellen einer Python-Umgebung mit OSX Elcapitan
Erstellen Sie mit IntelliJ schnell eine Python Django-Umgebung
Erstellen Sie eine mruby-Entwicklungsumgebung für ESP32 (Linux Edition)
Erstellen Sie eine Python-Umgebung für maschinelles Lernen mit Containern
Erstellen Sie eine Python-Entwicklungsumgebung auf Raspberry Pi
Erstellen Sie eine Python-Ausführungsumgebung mit VS-Code
Holen Sie sich mit Poetry eine schnelle Python-Entwicklungsumgebung
Erstellen Sie eine Entwicklungsumgebung mit Jupyter und Flask mit Python in Docker (unterstützt sowohl VS Code als auch Code-Server).
Erstellen Sie mit Docker auf RaspberryPi3 eine Python + Flasche + MySQL-Umgebung! [Versuch und Irrtum]
Konstruktionsvorlage für die lokale Python-Entwicklungsumgebung [Flask / Django / Jupyter mit Docker + VS-Code]
Erstellen Sie eine virtuelle Python-Umgebung mit virtualenv und virtualenvwrapper
Erstellen Sie die Python-Erweiterung E-Cell 4 unter Windows 7 (64 Bit).
Erstellen Sie eine komfortable Python 3 (Anaconda) -Entwicklungsumgebung mit Windows
Erstellen Sie eine Python-Entwicklungsumgebung mit Vagrant + Ansible + Fabric
[Linux] WSL2 Erstellen Sie mit Ubuntu 20.04 eine Umgebung für laravel7
So erstellen Sie eine Django (Python) -Umgebung auf Docker
Erstellen Sie eine Python-Entwicklungsumgebung unter Mac OS X.
Vorgehensweise zum Erstellen einer CDK-Umgebung unter Windows (Python)