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
Zusammenfassung: MySQL bietet eine Vielzahl von S...
Vor dem Verpacken im Webpack müssen wir sicherste...
Inhaltsverzeichnis 1. Das einfachste Beispiel 2. ...
Normalerweise besteht das Ziel beim Erstellen ein...
Gestern Abend habe ich einen Aufsatz über den Bro...
<!--[if IE 6]> Nur IE6 kann erkennen <![e...
So installieren Sie Tomcat-8.5.39 auf CentOS 7.6....
Inhaltsverzeichnis 1. fürJedes() 2. arr.filter() ...
Der Effekt, den wir erreichen müssen: Was wird be...
Inhaltsverzeichnis Array-Deduplizierung 1. from()...
Dieser Artikel veranschaulicht anhand von Beispie...
In der vorherigen Entwicklung haben wir die Stand...
CSS steuert den Druckstil von Webseiten : Verwende...
Beim Anmelden am Stresstest sind viele verschiede...
Inhaltsverzeichnis 1. Was für eine Art von Backup...