Créez un environnement de développement local avec WSL + Docker Desktop pour Windows + docker-lambda + Python

Aperçu

Parce que je devais créer un environnement de développement local pour AWS Lambda sous Windows Je décrirai ma propre procédure de construction sous forme de mémorandum. ** Je voudrais continuer en faisant référence au merveilleux article ** qui peut être facilement construit simplement en le faisant.

Informations environnementales

Connaissances préalables

Construire WSL

Sauf pour "bonus" et "désinstaller" en se référant au merveilleux article ci-dessous

Comment installer / désinstaller WSL

Installez Docker Desktop sur Windows

Sauf pour "bonus" et "désinstaller" en se référant au merveilleux article ci-dessous ** Lorsque le bureau docker pour le démon docker Windows est rendu disponible à partir de WSL ** Dans ** Shared Drives **, vérifiez le lecteur contenant votre répertoire de travail local.

Bureau Docker pour Windows + environnement Docker avec WSL

Préparez la source

Nous avons préparé un modèle pour la source utilisée dans cet article sur GitHub. Il est publié sous la licence MIT à partir du lien ci-dessous. Sentez-vous libre de l'utiliser.

Télécharger le modèle de code source

Enregistrer un alias

Étant donné que la nouvelle fonction Lambda est créée en fonction de la source du modèle, On suppose que les commandes lors de l'exécution de Docker seront toujours constantes. Il est difficile de le saisir à chaque fois, donc enregistrez l'alias dans WSL à l'avance.

Ouvrez .bash_aliases avec vim (créez-en un si non)

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

Ajoutez la commande suivante à .bash_aliases

.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))'

C'est facile, mais j'expliquerai le contenu de «docrun».

docker run Créer et exécuter un conteneur à partir d'une image Docker

-v $(wslpath -m $PWD):/var/task: ** Répertoire du système d'exploitation hôte: le volume est alloué dans le répertoire du conteneur **.

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

Donc, pour convertir cela en chemin de l'environnement local

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

C'est dit.

--env-file .env Lisez le fichier de variables d'environnement.

lambci/lambda:python3.6 Une image Docker est spécifiée.

lambda_function.lambda_handler J'essaye d'exécuter lambda_handler dans lambda_function.py.

$(printf "%s" $(cat event.json)) Nous transmettons le contenu de event.json à l'argument event de lambda_handler.

Essayez d'exécuter la fonction Lambda

Windows

Copiez le fichier source du modèle dans votre répertoire de travail. (Ici, il s'agit de D: \ Program \ Python \ AWS \ docker-lambda.)

WSL

Déplacer vers le répertoire de travail

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

Exécuter la fonction Lambda

/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\"}"

La première fois que vous l'exécutez, il commence par Pull de l'image Docker. La fonction est exécutée une fois l'extraction terminée, et si l'affichage ci-dessus est affiché, la construction de l'environnement est terminée.

référence

Comment installer / désinstaller WSL Bureau Docker pour Windows + environnement Docker avec WSL Environnement AWS Lambda facile à exécuter avec docker-lambda Je viens de démarrer Docker, je l'ai donc résumé de manière facile à comprendre

finalement

Je vais l'expliquer pour que même les débutants puissent le comprendre le plus possible. S'il y a quelque chose qui est difficile à comprendre ou quelque chose ne va pas Je vous serais reconnaissant si vous pouviez commenter.

Recommended Posts

Créez un environnement de développement local avec WSL + Docker Desktop pour Windows + docker-lambda + Python
[Memo] Construire un environnement de développement pour Django + Nuxt.js avec Docker
Créez un environnement de développement Python simple avec VSCode et Docker Desktop
Créer un environnement d'exécution Windows Python avec VScode + Remote WSL
Créer un environnement de développement local pour Lambda + Python à l'aide de Serverless Framework
[DynamoDB] [Docker] Créer un environnement de développement pour DynamoDB et Django avec docker-compose
Créez un environnement de développement local pour Laravel6.X sur votre Mac
Créez un environnement python pour chaque répertoire avec pyenv-virtualenv
Créer un environnement de développement d'applications d'apprentissage automatique avec Python
Créez un environnement de développement avec Poetry Django Docker Pycharm
Construire un environnement Mysql + Python avec docker
Créez un environnement de développement Django avec Docker! (Docker-compose / Django / postgreSQL / nginx)
[Django] Créez rapidement un environnement de développement de conteneur Django (Docker) avec PyCharm
Créer un environnement de développement Python basé sur GVim sur les paramètres de base de Windows 10 (2)
Comment créer un environnement de développement de la série Python2.7 avec Vagrant
Créer un environnement Python avec WSL + Pyenv + Jupyter + VSCode
Créez facilement un environnement de développement avec Laragon
Créer un environnement Jupyter Lab (Python) avec Docker
Créez un environnement Python 2.7 64 bits avec TDM-GCC et MinGW-w64 sous Windows 7
Création d'un environnement Python 3.6 avec Windows + PowerShell
Obtenez un environnement local pour DynamoDB avec Docker
[Linux] Créer un environnement Jenkins avec Docker
J'ai créé un environnement de développement pour Django 3.0 avec Docker, Docker-compose, Poetry
Créez un environnement virtuel pour python avec pyenv
Créez un environnement Python moderne avec Neovim
[Linux] Construction de l'environnement Docker avec Amazon Linux 2
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Construction facile]
Créez un environnement de développement Python sur Windows (WSL distant Visual Studio Code).
Créez rapidement un environnement python pour le Deep Learning / Data Science (Windows)
J'ai essayé de créer un environnement de développement Mac Python avec pythonz + direnv
Créez un environnement LAMP sur votre Docker local
Créez simplement un environnement d'exécution Python 3 sous Windows
Créer un environnement de développement Python avec Visual Studio Code
Créer un environnement de construction python3 avec Sublime Text3
Créez un environnement de développement Python sur votre Mac
Créer un environnement de développement Django à l'aide de Doker Toolbox
Construire un environnement Python avec OSX Elcapitan
Créez rapidement un environnement Python Django avec IntelliJ
Créer un environnement de développement mruby pour ESP32 (édition Linux)
Créer un environnement d'apprentissage automatique Python avec des conteneurs
Construire un environnement de développement Python sur Raspberry Pi
Créer un environnement d'exécution python avec VS Code
Obtenez un environnement de développement Python rapide avec Poetry
Créer un environnement de développement à l'aide de Jupyter et Flask avec Python dans Docker (prend en charge à la fois VS Code / code-server)
Construisez un environnement Python + bouteille + MySQL avec Docker sur RaspberryPi3! [Essai et erreur]
Modèle de construction d'environnement de développement local Python [Flask / Django / Jupyter avec Docker + VS Code]
Créez un environnement virtuel python avec virtualenv et virtualenvwrapper
Construire l'extension Python E-Cell 4 sur Windows 7 (64 bits)
Créez un environnement de développement Python 3 (Anaconda) confortable avec Windows
Créez un environnement de développement python avec vagrant + ansible + fabric
[Linux] WSL2 Créer un environnement pour laravel7 avec Ubuntu 20.04
Comment créer un environnement Django (python) sur Docker
Créer un environnement de développement Python sur Mac OS X
Procédure de création d'un environnement CDK sous Windows (Python)