Ablauf beim Ausführen Ihrer eigenen Python-Webanwendung mit Docker
Im Idealfall sollten alle Docker-Bilder in eine Docker-Datei geschrieben werden. Versuchen Sie jedoch, sie mit manuell festgelegten Bildern zu erstellen.
docker run -t -i centos /bin/bash
Die Option -i -t und / bin / bash dienen zum Anmelden bei dem Container, der mit der Standardeingabe gestartet wurde. Basierend auf Centos.
Legen Sie es mit diesem Befehl in den Centos-Container
Stellen Sie sicher, dass Python bereits mit dem Befehl python -V im Container installiert ist.
Erstellen Sie eine Beispiel-Web-App an einer beliebigen Stelle im Container
vi sampleweb.py
import SimpleHTTPServer
SimpleHTTPServer.test()
Sie können den laufenden Container als Docker-Image mit dem Docker-Commit-Befehl ausgeben.
docker commit [Bearbeitete Container-ID] [Containername zum Speichern]
Beispiel)
docker commit aeijdire845 simpleweb
Ich war hier süchtig danach. Wenn Sie unter Linux einen Befehl in rc.local schreiben, scheint er den beabsichtigten Befehl beim Start auszuführen, wird jedoch nicht im Container wiedergegeben. Es ist notwendig, in ENTRYPOINT (oder CMD) der Docker-Datei zu beschreiben. Zu diesem Zeitpunkt dachte ich, ich sollte mit der Docker-Datei von vorne beginnen, aber ich muss nur ENTRY POINT basierend auf den bis zu 3 erstellten Bildern hinzufügen.
Beispiel)
from simpleweb
ENTRYPOINT python /home/hoge/simpleweb.py
Erstellen Sie ein Image mit Docker-Build basierend auf der Docker-Datei, die kontinuierlich erstellt wird
docker build -t [Bildname]:[Verlinke den Namen] [Verzeichnispfad mit Dockerfile]
Beispiel)
docker build -t simpleweb2:latest ./
Da es sich um eine Webanwendung handelt, müssen Optionen festgelegt und gestartet werden, damit von außen auf die Webanwendung im Container zugegriffen werden kann.
docker run -p 80:8000 simpleweb2
Geben Sie mit der Option -p den Port Forward unter [Externer Port] an: [Port im Container]. Wenn Sie im Beispiel mit 80 von außen zugreifen, werden Sie mit 8000 innerhalb des Containers verbunden. Die in 2 Wartezeiten erstellte Webanwendung wartet auf 8000. Stellen Sie sie also so ein.
Wenn Sie darauf zugreifen, indem Sie http: // localhost / angeben, wenn es von local stammt oder wenn eine externe IP vorhanden ist, wird die Verzeichnisliste zurückgegeben.
Recommended Posts