Développement Google AppEngine avec Docker

Nous avons publié un conteneur Docker pour le développement de Google AppEngine.

docker-gae-python est le sdk GAE pour la bibliothèque et le compilateur python +, et docker-gae-python-extra contient les outils que vous utilisez.

Comment utiliser

Les deux commencent comme suit,

sudo docker run -d -p 2022:22 -p 8080:8080 -v (Chemin absolu vers la racine du projet):/home/gae:rw essa/gae-python-extra /usr/sbin/sshd -D

Connectez-vous et utilisez comme suit. Le mot de passe initial est python.

ssh -p 2022 gae@localhost

La commande suivante lancera l'exemple d'application.

python /usr/local/google_appengine/dev_appserver.py /usr/local/google_appengine/demos/python/guestbook --port 8080 --host 0.0.0.0

Depuis l'hôte, vous pouvez y accéder à l'adresse http: // localhost: 8080 /.

Si vous publiez le 8080 sur le pare-feu hôte, vous pouvez y accéder de l'extérieur. Nous avons publié un Dockerfile avec le mot de passe écrit dessus, donc si vous souhaitez publier 2022 du port ssh vers l'extérieur, assurez-vous de changer le mot de passe.

Impressions de Docker

J'ai essayé Docker pour la première fois et je pense que c'est certainement utile.

L'environnement pour GAE SDK pour python est relativement facile à créer, mais étant donné que le projet que je suis en train de faire utilise maintenant closingCompiler, SASS et casper.js (phantom.js), l'environnement d'exécution pour ruby, java et node.js est également disponible. Tu auras besoin de. Il était difficile de créer un environnement où tout cela fonctionne à partir de zéro, et je m'inquiétais de la façon d'écrire l'explication, mais si je la publie comme une image de Docker, elle sera bientôt prête.

Même si vous ne pouvez pas publier l'image, si vous attachez le Dockerfile au projet, cela prendra un certain temps, mais vous pouvez créer le même environnement avec une seule commande de construction de docker.

Pour l'instant, il peut être difficile de créer un environnement d'exécution pour Docker, mais si le cloud qui peut utiliser coreos se généralise, ce sera bientôt possible.

La création d'un Dockerfile est presque identique à l'écriture d'un script shell pour la construction d'un environnement, mais elle valide l'image du système de fichiers du résultat de l'exécution pour chaque ligne de la commande RUN, donc lorsque vous réexécutez, à partir de la ligne qui a été automatiquement corrigée Merci d'avoir recommencé.

Ce à quoi je ne m'attendais pas dans le sens positif lorsque je l'utilisais, c'est que cette fonctionnalité rendait l'écriture d'un Dockerfile plus facile que prévu.

Ce type de script et d'outils pour créer un environnement

  1. Écrivez tout et exécutez le test
  2. Il existe un processus chronophage qui fonctionne
  3. Correction d'une erreur mineure vers la fin
  4. Il faut du temps pour tout réexécuter, alors n'exécutez que la partie corrigée et vérifiez
  5. Ensuite, cela fonctionne, mais lorsque je l'exécute depuis le début, j'obtiens une erreur

Donc, si vous faites tout honnêtement depuis le début, cela prend du temps, donc cela a tendance à être un motif de larmes lorsque vous supprimez par erreur le script que vous écrivez par erreur lors du processus d'initialisation de l'environnement.

Je pense que l'objectif principal de l'utilisation de Docker est de démarrer rapidement une machine pour une opération de production, mais je pense qu'il peut également être utilisé pour préparer un environnement de développement et le partager.

TIPS

Je ne sais pas encore grand-chose, mais je vais noter où j'ai trébuché.

Recommended Posts

Développement Google AppEngine avec Docker
Je ne peux plus déployer avec le moteur d'application Google
Création d'un environnement de développement avec Maven sur Google App Engine [Java]
Procédure de construction de l'environnement de développement Google App Engine / Python (fin 2014)
PIL en Python sur Windows8 (pour Google App Engine)
Premiers pas avec Google App Engine pour Python et PHP
Hello World avec Google App Engine (Java 8) + API Servlet 3.1 + Gradle
Prise en charge de Java 1 1 par Google App Engine
Déployer des applications Go sur Google App Engine avec des actions GitHub
Utilisez ndb.tasklet avec Google App Engine
Hello World avec Google App Engine (Java 11) + Spring Boot + Gradle
Reconstruisez l'environnement de développement de Django avec Docker! !! !! !!
Développement d'applications avec Docker + Python + Flask
Utilisation du fichier de propriétés avec l'environnement flexible Java 8 de Google App Engine
[Google App Engine] Flux de la construction de l'environnement de développement à la création de l'application
[Python] Exécutez Flask sur Google App Engine
[Google App Engine] Objets utilisateur (traduction en japonais)
Utiliser des modules externes avec Google App Engine
[Python] Créer un environnement de développement Django avec Docker
Tweet (API 1.1) avec Google App Engine pour Python
Intégration de la banque de données Google App Engine et de l'API de recherche
Utilisez le conteneur de développement Docker facilement avec VS Code
Désactivez les options d'optimisation dans l'environnement de développement Google App Engine Go dev_appserver.py
Authentifier Google avec Django
Serveur TFTP avec Docker
Résumé du développement avec Django
Déployer l'application Django sur Google App Engine (Python3)
(Débutant) Utilisation de base du magasin de données de Google App Engine
Déployer une application existante avec docker + pyenv-virtualenv + uwsgi + django
Utiliser python avec docker
Serveur proxy avec Docker
Bonjour le monde avec Docker
Comment utiliser Django avec Google App Engine / Python
Divers mémorandums lors de l'utilisation du sdk de l'API de messagerie LINE avec Python (2.7.9) + Google App Engine
Créez un environnement de développement avec Poetry Django Docker Pycharm
Version d'exécution de l'environnement standard Google App Engine / Python
Avez-vous des recommandations pour un livre de commentaires sur le développement de GoogleAppEngine / Python?
Paramètres lors du développement d'applications App Engine / Python avec VS Code
Créez un environnement de développement Django avec Docker! (Docker-compose / Django / postgreSQL / nginx)
Enregistrer en japonais dans StringProperty dans le magasin de données Google App Engine
Faites de la programmation embarquée par développement piloté par les tests avec googletest ~ SOLID design ~
[Django] Créez rapidement un environnement de développement de conteneur Django (Docker) avec PyCharm
Créez un environnement de développement Python simple avec VSCode et Docker Desktop
Comment écrire la mise à jour de la banque de données en asynchrone avec Google Apps Engine
Créer une application Todo avec Django ① Créer un environnement avec Docker
Application Todo avec le plugin django-bootstrap-modal-forms
Tester les logiciels embarqués avec Google Test
Essayez Google Mock avec C
Étudiez Python avec Google Colaboratory
Développement d'applications Web avec Flask
À propos de l'apprentissage avec Google Colab
Moteur Docker - Construction source CE
Implémenter le GPU PyTorch + avec Docker
La vie PySpark à partir de Docker
Préparer l'environnement python3 avec Docker
Montez Google Drive avec google-drive-ocamlfuse
Accédez à Google Drive avec Python