1. Zweck Schreiben Sie lokal eine Flask-Anwendung, packen Sie sie mit Docker, laden Sie sie auf Ihren eigenen Server hoch und schließen Sie die Bereitstellung ab. Flussdiagramm: 2. Experimentelle Umgebung Lokal: Windows 10 1909 Server: Alibaba Cloud Centos-System 3. Erforderliche Software 1.Docker-Desktop 2. Pycharm 2020.3.3 4. Schritte 1. Füllen Sie die Flask-Anwendung lokal aus (1) Erstellen Sie eine neue Flask-Anwendung docker_flask in PyCharm (2) Installieren Sie die Pakete Gunicorn und Gevent (3) Erstellen Sie eine neue Datei gunicorn.config.py und geben Sie den folgenden Inhalt ein workers = 5 # Definieren Sie die Anzahl der Prozesse, die gleichzeitig geöffnet werden, um Anfragen zu verarbeiten, und passen Sie sie entsprechend dem Website-Verkehr an. worker_class = "gevent" # Verwenden Sie die Gevent-Bibliothek, um die asynchrone Verarbeitung von Anfragen zu unterstützen und den Durchsatz zu verbessern. bind = "0.0.0.0:8080" # Hier kann 8080 nach Belieben angepasst werden. (4) Erstellen Sie eine neue Datei requirements.txt und geben Sie den folgenden Inhalt ein
(5) Erstellen Sie eine Dockerfile-Datei und füllen Sie den folgenden Inhalt aus VON python:3.7 ARBEITSVERZEICHNIS /usr/src/app KOPIEREN Sie requirements.txt ./ Führen Sie den Befehl pip install -r requirements.txt -i aus. KOPIEREN . . CMD ["gunicorn", "app:app", "-c", "./gunicorn.conf.py"] #Die erste App ist der von Python gestartete Dateiname, d. h. app.py; die zweite ist der vorab gestartete Anwendungsname im Flask-Projekt (6) Projektstruktur 2. Erstellen Sie ein Docker-Image 1. Geben Sie das Verzeichnis dieses Projekts ein 2. Erstellen Sie das Image und geben Sie den folgenden Befehl ein Docker-Build -t „docker_flask“. Anschließend werden sechs Schritte ausgeführt. Wir müssen uns darüber keine Gedanken machen und können uns einfach die Ergebnisse ansehen. Hör zu OK, jetzt ist unser selbst erstelltes Image fertig. Sie können es lokal ausführen und damit experimentieren. 3. Laden Sie das Bild in das Alibaba Cloud Warehouse hoch (1) Erstellen Sie Ihr eigenes Docker-Repository in der Alibaba Cloud. (2) Bild hochladen 1. Melden Sie sich beim Alibaba Cloud Docker Registry an und denken Sie daran, Ihren Benutzernamen in Ihren eigenen zu ändern. Docker-Login --Benutzername = Ihr Alibaba Cloud-Benutzername registry.cn-hangzhou.aliyuncs.com Das Anmeldekennwort ist Ihr Alibaba Cloud-Anmeldekennwort. 2. Geben Sie die folgenden zwei Befehlszeilen ein, um das Image in die Registry zu übertragen Docker-Tag [Bild-ID] registry.cn-hangzhou.aliyuncs.com/namespace/warehouse Name: [Bildversionsnummer] Docker Push Registry.cn-hangzhou.aliyuncs.com/namespace/Warehouse-Name: [Bildversionsnummer] Dann machen Sie sich keine Sorgen und lassen Sie es einfach zu Ende laufen. Ich habe es schon einmal hier hochgeladen. 4. Ziehen Sie dieses Image auf den Server und führen Sie es aus (natürlich muss Docker zuerst auf dem Server installiert werden). Docker Pull Registry.cn-hangzhou.aliyuncs.com/namespace/Warehouse-Name: [Bildversionsnummer] Meldet euch per SSH beim Server an, gebt den obigen Befehl ein und prüft anschließend, ob er heruntergeladen wird. 4. Führen Sie es aus und prüfen Sie, ob es funktioniert Hier ordnete ich den Port 8080 des Dockers dem Port 28080 des Servers zu OK, geben Sie die Server-IP ein: 28080 und prüfen Sie, ob „Hello World!“ angezeigt wird (denken Sie daran, den Port zu öffnen). Dies ist das Ende dieses Artikels über die Implementierungsschritte der Docker-Bereitstellung einer Flask-Anwendung. Weitere relevante Inhalte zur Docker-Bereitstellung einer Flask-Anwendung finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
>>: Mysql-String-Abfangen und Abrufen von Daten im angegebenen String
Inhaltsverzeichnis Gängige Komprimierungsformate:...
1. CSS-Boxmodell Die Box beinhaltet: Rand, Rahmen...
Plätzchen Dies ist eine Standardmethode zum Speic...
Inhaltsverzeichnis Methoden, die das ursprünglich...
Inhaltsverzeichnis 1. Vom Benutzer erstelltes Skr...
Dieser Artikel fasst die Implementierungsmethoden...
Dieser Artikel beschreibt das Beispiel eines gepl...
Dieser Artikel soll Ihnen vor allem dabei helfen,...
Relativer Pfad – ein Verzeichnispfad, der basieren...
Hintergrund - Online Alert Ein Online-Server hat ...
1. Vorbereitung vor der Installation: 1.1 JDK ins...
Was ist ein MIME-TYP? 1. Zunächst müssen wir verst...
Als ich heute CentOS6.2 installierte, kam ich nic...
Inhaltsverzeichnis 1. Initialisieren Sie die Kart...
Animation Definieren Sie eine Animation: /*Legen ...