[PYTHON] Google AppEngine-Entwicklung mit Docker

Wir haben einen Docker Container für die Entwicklung von Google AppEngine veröffentlicht.

docker-gae-python ist das GAE-SDK für Python + Bibliothek und Compiler, und Docker-Gae-Python-Extra enthält die von Ihnen verwendeten Tools.

Wie benutzt man

Beide beginnen wie folgt:

sudo docker run -d -p 2022:22 -p 8080:8080 -v (Absoluter Pfad zum Projektstamm):/home/gae:rw essa/gae-python-extra /usr/sbin/sshd -D

Melden Sie sich an und verwenden Sie Folgendes. Das anfängliche Passwort ist Python.

ssh -p 2022 gae@localhost

Der folgende Befehl startet die Beispiel-App.

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

Vom Host aus können Sie unter http: // localhost: 8080 / darauf zugreifen.

Wenn Sie den 8080 auf der Host-Firewall veröffentlichen, können Sie von außen darauf zugreifen. Da die Docker-Datei mit dem Kennwort veröffentlicht wird, ändern Sie das Kennwort, wenn Sie 2022 des Ports für ssh nach außen veröffentlichen.

Impressionen von Docker

Ich habe Docker zum ersten Mal ausprobiert und ich denke, es ist sicherlich nützlich.

Die Umgebung für GAE SDK für Python ist relativ einfach zu erstellen. Da das Projekt, das ich jetzt durchführe, ClosureCompiler, SASS und casper.js (phantom.js) verwendet, ist auch die Ausführungsumgebung für Ruby, Java und Node.js verfügbar. Du wirst brauchen. Es war schwierig, eine Umgebung zu schaffen, in der all dies von Grund auf funktioniert, und ich war besorgt darüber, wie ich die Erklärung schreiben sollte. Wenn ich sie jedoch als Image von Docker veröffentliche, wird sie bald fertig sein.

Selbst wenn Sie das Image nicht veröffentlichen können, dauert es einige Zeit, wenn Sie die Docker-Datei an das Projekt anhängen. Sie können jedoch dieselbe Umgebung mit einem einzigen Docker-Build-Befehl erstellen.

Derzeit ist es möglicherweise schwierig, eine Ausführungsumgebung für Docker zu erstellen. Wenn sich jedoch die Cloud, die Coreos verwenden kann, verbreitet, ist dies bald möglich.

Das Erstellen einer Docker-Datei entspricht fast dem Schreiben eines Shell-Skripts zum Erstellen einer Umgebung. Da jedoch das Dateisystem-Image des Ausführungsergebnisses für jede Zeile des RUN-Befehls festgeschrieben wird, beginnt es bei der erneuten Ausführung automatisch mit der korrigierten Zeile. Vielen Dank für den Neustart.

Was ich in der positiven Richtung nicht erwartet hatte, als ich es tatsächlich benutzte, war, dass diese Funktion das Schreiben einer Docker-Datei einfacher machte als ich erwartet hatte.

Diese Art von Skript und Tools zum Erstellen einer Umgebung

  1. Schreiben Sie alles und führen Sie den Test aus
  2. Es gibt einen zeitaufwändigen Prozess, der funktioniert
  3. Gegen Ende wurde ein kleiner Fehler behoben
  4. Es braucht Zeit, um alles erneut auszuführen. Führen Sie daher nur das korrigierte Teil aus und überprüfen Sie es
  5. Dann funktioniert es, aber wenn ich es von Anfang an ausführe, wird eine Fehlermeldung angezeigt

Wenn Sie also von Anfang an alles ehrlich tun, dauert es einige Zeit. Wenn Sie das Skript, das Sie versehentlich beim Initialisieren der Umgebung schreiben, versehentlich löschen, kann dies zu Tränen führen.

Ich denke, der Hauptzweck der Verwendung von Docker besteht darin, eine Produktionsmaschine schnell zu starten, aber ich bin der Meinung, dass sie auch zum Vorbereiten und Freigeben einer Entwicklungsumgebung verwendet werden kann.

TIPS

Ich weiß noch nicht viel, aber ich werde notieren, wo ich gestolpert bin.

Recommended Posts

Google AppEngine-Entwicklung mit Docker
Ich kann nicht mehr mit der Google App Engine bereitstellen
Erstellen einer Entwicklungsumgebung mit Maven in Google App Engine [Java]
Konstruktionsverfahren für die Google App Engine / Python-Entwicklungsumgebung (Ende 2014)
PIL in Python unter Windows8 (für Google App Engine)
Erste Schritte mit Google App Engine für Python und PHP
Hallo Welt mit Google App Engine (Java 8) + Servlet API 3.1 + Gradle
Java 1 1-Unterstützung von Google App Engine
Stellen Sie Go-Apps mit GitHub-Aktionen für Google App Engine bereit
Verwenden Sie ndb.tasklet mit Google App Engine
Hallo Welt mit Google App Engine (Java 11) + Spring Boot + Gradle
Erstellen Sie die Entwicklungsumgebung von Django mit Docker neu! !! !! !!
Anwendungsentwicklung mit Docker + Python + Flask
Verwenden der Eigenschaftendatei mit Flexible Environment Java 8 von Google App Engine
[Google App Engine] Ablauf von der Erstellung der Entwicklungsumgebung bis zur Erstellung der Anwendung
[Python] Führen Sie Flask in Google App Engine aus
[Google App Engine] Benutzerobjekte (japanische Übersetzung)
Verwenden Sie externe Module mit Google App Engine
[Python] Erstellen Sie mit Docker eine Django-Entwicklungsumgebung
Tweet (API 1.1) mit Google App Engine für Python
Integration von Google App Engine-Datenspeicher und Such-API
Verwenden Sie den Docker-Entwicklungscontainer bequem mit VS Code
Deaktivieren Sie die Optimierungsoptionen in der Google App Engine Go-Entwicklungsumgebung dev_appserver.py
Authentifizieren Sie Google mit Django
TFTP-Server mit Docker
Entwicklungsverdauung mit Django
Stellen Sie die Django-Anwendung in Google App Engine (Python3) bereit.
(Anfänger) Grundlegende Verwendung des Datenspeichers von Google App Engine
Stellen Sie eine vorhandene App mit Docker + Pyenv-Virtualenv + Uwsgi + Django bereit
Verwenden Sie Python mit Docker
Proxyserver mit Docker
Hallo, Welt mit Docker
Verwendung von Django mit Google App Engine / Python
Verschiedene Memoranden bei Verwendung von SDK der LINE Messaging API mit Python (2.7.9) + Google App Engine
Erstellen Sie eine Entwicklungsumgebung mit Poetry Django Docker Pycharm
Laufzeitversion der Google App Engine / Python-Standardumgebung
Haben Sie Empfehlungen für ein Kommentarbuch zur Entwicklung von GoogleAppEngine / Python?
Einstellungen beim Entwickeln von App Engine / Python-Apps mit VS-Code
Erstellen Sie mit Docker eine Django-Entwicklungsumgebung! (Docker-compose / Django / postgreSQL / nginx)
Speichern Sie auf Japanisch in StringProperty im Google App Engine-Datenspeicher
Führen Sie Embedded-Programmierung durch testgetriebene Entwicklung mit googletest ~ SOLID design ~ durch
[Django] Erstellen Sie mit PyCharm schnell eine Entwicklungsumgebung für Django-Container (Docker)
Erstellen Sie mit VSCode & Docker Desktop eine einfache Python-Entwicklungsumgebung
So schreiben Sie ein Datenspeicher-Update asynchron mit Google Apps Engine
Erstellen einer Todo-App mit Django ① Erstellen Sie eine Umgebung mit Docker
Todo App mit Django-Bootstrap-Modal-Forms-Plugin
Testen Sie eingebettete Software mit Google Test
Versuchen Sie Google Mock mit C.
Lernen Sie Python mit Google Colaboratory
Entwicklung von Webanwendungen mit Flask
Über das Lernen mit Google Colab
Docker Engine --CE-Quell-Build
Implementieren Sie PyTorch + GPU mit Docker
PySpark Leben beginnt mit Docker
Bereiten Sie die Python3-Umgebung mit Docker vor
Hängen Sie Google Drive mit google-drive-ocamlfuse ein
Greifen Sie mit Python auf Google Drive zu