Docker ist eine Plattform zum Erstellen, Ausführen und Verteilen von Anwendungen. Damit können Sie Ihre Anwendung und alle ihre Abhängigkeiten in einen einzigen Container packen, der dann auf jedem Computer ausgeführt werden kann, auf dem Docker installiert ist.
Dies macht Docker ideal für die Bereitstellung von Webanwendungen, da Sie Ihre Anwendung problemlos von einer Umgebung in eine andere verschieben können, ohne sich um Kompatibilitätsprobleme kümmern zu müssen.
Django hingegen ist ein Python-Webframework, das die Erstellung leistungsstarker und skalierbarer Webanwendungen erleichtert. Django bietet eine Reihe sofort einsatzbereiter Funktionen, z. B. ein Benutzerauthentifizierungssystem, eine Datenbankabstraktionsschicht und eine Vorlagen-Engine.
Dies erleichtert den Einstieg in Django und die schnelle und einfache Erstellung komplexer Webanwendungen.
Das Dockerisieren und Bereitstellen einer Django-Anwendung ist ein relativ unkomplizierter Prozess. Die wichtigsten Schritte sind:
1. Erstellen Sie eine Docker-Datei für Ihre Django-Anwendung.
2. Erstellen Sie ein Docker-Image aus Ihrer Docker-Datei.
3. Stellen Sie das Docker-Image in einer Produktionsumgebung bereit.
In diesem Artikel werde ich Sie detailliert durch die Schritte zum Dockerisieren und Bereitstellen einer Django-Anwendung führen. Außerdem werde ich einige Tipps und Best Practices für die Bereitstellung von Django-Anwendungen in der Produktion geben.
Um diesem Tutorial folgen zu können, benötigen Sie die folgenden Voraussetzungen:
Sie benötigen außerdem einen Cloud-Hosting-Anbieter wie AWS, Azure oder Google Cloud Platform, wenn Sie Ihre Django-Anwendung in der Produktion bereitstellen möchten. Aber für dieses Tutorial werde ich Heroku verwenden.
Sobald Sie alle Voraussetzungen installiert haben, können Sie mit der Dockerisierung und Bereitstellung Ihrer Django-Anwendung beginnen!
Um ein neues Django-Projekt zu starten, müssen Sie den Befehl django-admin
verwenden. Mit diesem Befehl können Sie ein Projektverzeichnis und einige grundlegende Dateien für Ihre Django-Anwendung erstellen. Wenn Sie beispielsweise ein Projekt namens my_project
erstellen möchten, können Sie diesen Befehl in Ihrem Terminal ausführen:
django-admin startproject my_project
Dadurch wird ein Verzeichnis namens „my_project“ mit der folgenden Struktur erstellt:
Mein Projekt/
├── manage.py
└── Projekt/
├──
├──settings.py
└── urls.py
Die Datei manage.py
ist ein Skript, mit dem Sie verschiedene Aufgaben für Ihr Projekt ausführen können, z. B. das Ausführen des Entwicklungsservers, das Erstellen von Datenbankmigrationen und das Testen Ihres Codes. Das Verzeichnis project/
enthält die Einstellungen und Konfigurationsdateien für Ihr Projekt.
Die Datei settings.py
definiert die Haupteinstellungen für Ihr Projekt, z. B. die Datenbankverbindung, die installierten Apps und die Middleware. Die Datei urls.py
ordnet die URLs Ihres Projekts den Ansichten Ihrer Apps zu.
Nachdem Sie ein neues Django-Projekt erstellt haben, können Sie es lokal testen, indem Sie den Entwicklungsserver ausführen. Der Entwicklungsserver ist ein einfacher Webserver, der auf Ihrem Computer läuft und Ihre Projektdateien bereitstellt. Um den Entwicklungsserver zu starten, führen Sie diesen Befehl in Ihrem Terminal aus:
python manage.py runserver
Dadurch wird der Server standardmäßig auf Port 8000 gestartet. Anschließend können Sie Ihren Browser öffnen und zu http://localhost:8000/ gehen, um die Standard-Django-Homepage anzuzeigen.
Ein Django-Projekt besteht aus mehreren Dateien und Verzeichnissen, die die Funktionalität und das Erscheinungsbild Ihrer Webanwendung definieren. Die Hauptkomponenten eines Django-Projekts sind:
manage.py
: Ein Skript, das verschiedene Befehle zum Verwalten Ihres Projekts bereitstellt, z. B. zum Erstellen von Apps, zum Migrieren der Datenbank und zum Testen Ihres Codes.
project/
: Ein Verzeichnis, das die Einstellungen und Konfigurationsdateien für Ihr Projekt enthält. Die Hauptdateien in diesem Verzeichnis sind:
`settings.py`: A file that defines the main settings for your project, such as the database connection, the installed apps, and the middleware. You can customize this file to suit your needs and preferences. `urls.py`: A file that maps the URLs of your project to the views of your apps. You can define different URL patterns for different parts of your web application.
apps/
: Ein Verzeichnis, das alle Django-Apps enthält, aus denen Ihr Projekt besteht. Jede Django-App ist ein separates Python-Paket, das eine bestimmte Funktionalität oder ein bestimmtes Feature für Ihre Webanwendung bereitstellt. Sie können Ihre eigenen Apps erstellen oder vorhandene Apps von Drittanbietern verwenden.
Um das Projekt lokal zu testen, können Sie den Entwicklungsserver oder das von Django bereitgestellte Testframework verwenden. Der Entwicklungsserver ist ein einfacher Webserver, der auf Ihrem Computer läuft und Ihre Projektdateien bereitstellt. Das Test-Framework ist ein Tool, mit dem Sie Unit-Tests für Ihren Code schreiben und ausführen können.
Um den Entwicklungsserver zu verwenden, können Sie diesen Befehl in Ihrem Terminal ausführen:
python manage.py runserver
Dadurch wird der Server standardmäßig auf Port 8000 gestartet. Anschließend können Sie Ihren Browser öffnen und zu „http://localhost:8000/“ gehen, um die Standard-Django-Homepage anzuzeigen.
Um das Test-Framework zu verwenden, können Sie diesen Befehl in Ihrem Terminal ausführen:
python manage.py test
Dadurch werden alle Komponententests für Ihr Projekt ausgeführt. Wenn alle Tests erfolgreich sind, wird eine Meldung wie diese angezeigt:
Ran 1 test in 0.001s Ok
Wenn einer der Tests fehlschlägt, wird eine Fehlermeldung mit Einzelheiten zum Fehler angezeigt. Sie können diese Informationen zum Debuggen und Korrigieren Ihres Codes verwenden.
Sobald Sie das Projekt lokal getestet haben und mit den Ergebnissen zufrieden sind, können Sie es in einer Produktionsumgebung bereitstellen.
Eine Docker-Datei ist eine Textdatei, die Anweisungen zum Erstellen eines Docker-Images enthält. Ein Docker-Image ist ein eigenständiges ausführbares Paket, das alles enthält, was zum Ausführen einer Anwendung erforderlich ist: Code, Laufzeit, Systemtools, Systembibliotheken und Einstellungen.
Um eine Docker-Datei zu erstellen, müssen Sie das Basis-Image, die auszuführenden Befehle zur Installation der erforderlichen Pakete und die auszuführenden Befehle zum Starten der Anwendung angeben.
Hier ist eine Beispiel-Dockerdatei für ein Django-Projekt:
FROM python:3.9 #Install Django and other required packages RUN pip install django # Copy the Django project files into the image COPY ./app # Set the working directory WORKDIR /app # Start the Django development server CMD ["python", "manage.py", "runserver", "0.0.0.0:8000"]
Diese Docker-Datei erstellt ein Docker-Image, das Python 3.9, Django und die Django-Projektdateien enthält. Das Image wird so konfiguriert, dass der Django-Entwicklungsserver auf Port 8000 gestartet wird.
Eine docker-compose.yml-Datei ist eine YAML-Datei, die die Dienste definiert, aus denen eine Docker-Anwendung besteht. Ein Dienst kann ein einzelner Docker-Container oder eine Gruppe von Docker-Containern sein.
Um eine docker-compose.yml-Datei für ein Django-Projekt zu erstellen, müssen Sie den Webdienst und den Datenbankdienst definieren. Der Webdienst führt die Django-Anwendung aus und der Datenbankdienst führt die Datenbank aus, die die Django-Anwendung verwendet.
Hier ist eine Beispieldatei docker-compose.yml für ein Django-Projekt:
version: "3.9" services: web: build: ports: -"8000:8000" volumes -./:/app db: image: postgres:14.0-alpine volumes: -./postgres:/var/lib/postgresql/data
Diese docker-compose.yml-Datei definiert zwei Dienste: web
und db
. Der web
erstellt das Docker-Image aus der Docker-Datei, die wir im vorherigen Abschnitt erstellt haben. Der web
stellt außerdem Port 8000 auf dem Hostcomputer bereit, sodass wir auf den Django-Entwicklungsserver zugreifen können.
Der db
verwendet das offizielle PostgreSQL-Docker-Image. Der db
stellt auch das postgres
Verzeichnis auf dem Host-Computer im Verzeichnis /var/lib/postgresql/data
im Container bereit. Dadurch wird sichergestellt, dass die Datenbankdateien zwischen Container-Neustarts bestehen bleiben.
Um die Docker-Container zu erstellen und auszuführen, können wir den folgenden Befehl verwenden:
docker-compose up -d
Dieser Befehl erstellt die Docker-Images für die Dienste „web“ und „db“, sofern diese noch nicht vorhanden sind. Der Befehl startet dann die Docker-Container für die Dienste „web“ und „db“.
Sobald die Docker-Container ausgeführt werden, können wir das Dockerized Django-Projekt lokal mit einem Webbrowser testen. Öffnen Sie einen Webbrowser und navigieren Sie zu „http://localhost:8000“. Sie sollten nun die Django-Entwicklungsseite sehen können.
Sie können sich auch auf der Django-Administratorseite unter http://localhost:8000/admin/
anmelden. Der Benutzername und das Passwort lauten standardmäßig admin
und admin
.
Jetzt ist es an der Zeit, Ihr Django-Projekt mit Git, GitHub und Heroku auf einer Cloud-Plattform bereitzustellen. Sie testen Ihre bereitgestellte Webanwendung auch mithilfe eines Webbrowsers.
Git ist ein Softwaretool, das Ihnen bei der Verwaltung des Quellcodes Ihres Projekts helfen kann. Damit können Sie die an Ihrem Code vorgenommenen Änderungen verfolgen, mit anderen Entwicklern zusammenarbeiten und auf frühere Versionen zurückgreifen, wenn etwas schief geht.
Mit Git können Sie Ihren Code auch an Remote-Repositorys wie GitHub übertragen, wo Sie Ihren Code speichern und mit anderen teilen können.
Bitte ignorieren Sie Folgendes, wenn Sie bereits ein GitHub-Repository erstellt haben.
Um ein GitHub-Repository für Ihr Django-Projekt zu erstellen, müssen Sie die folgenden Schritte ausführen:
- Erstellen Sie ein kostenloses Konto auf GitHub
- Gehen Sie zu Ihrer Profilseite und klicken Sie auf die Schaltfläche „Neu“ neben „Repositorys“ .
– Geben Sie Ihrem Repository einen Namen, z. B. django-docker-app
, und fügen Sie optional eine Beschreibung hinzu.
- Klicken Sie auf die Schaltfläche Repository erstellen .
Jetzt haben Sie ein leeres Repository auf GitHub erstellt. Um Ihren Code in dieses Repository zu übertragen, müssen Sie den Befehl „git“ in Ihrem Terminal verwenden. Ich gehe davon aus, dass Sie Git bereits auf Ihrem lokalen Computer installiert und ein Git-Repository in Ihrem Django-Projektordner initialisiert haben. Wenn nicht, befolgen Sie dazu die offizielle Dokumentation .
Um Ihren Code an GitHub zu übertragen, müssen Sie die folgenden Schritte ausführen:
- Gehen Sie im Terminal zu Ihrem Django-Projektordner und geben Sie git status
ein, um den aktuellen Status Ihres Repositorys anzuzeigen. Sie sollten etwa Folgendes sehen:
On branch main Your branch is up to date with 'origin/main'. Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: Dockerfile modified: docker-compose.yml modified: requirements.txt no changes added to commit (use "git add" and/or "git commit -a")
Das bedeutet, dass Sie über einige geänderte Dateien verfügen, die nicht für die Festschreibung bereitgestellt werden. Um sie für den Commit bereitzustellen, müssen Sie den Befehl git add
verwenden.
- Geben Sie git add
. um alle geänderten Dateien zum Festschreiben bereitzustellen. Alternativ können Sie die Dateinamen angeben, die wir bereitstellen möchten, z. B. git add
Dockerfile docker-compose.yml
requirements.txt
.
- Geben Sie git status
erneut ein, um den aktualisierten Status unseres Repositorys anzuzeigen. Sie sollten etwa Folgendes sehen:
On branch main Your branch is up to date with 'origin/main'. Changes to be committed: (use "git restore --staged <file>..." to unstage) modified: Dockerfile modified: docker-compose.yml modified: requirements.txt
Das bedeutet, dass Sie über einige Änderungen verfügen, die für die Festschreibung bereitgestellt werden. Um sie festzuschreiben, müssen Sie den Befehl git commit
verwenden.
– Geben Sie git commit -m "Add Docker configuration files"
, um die bereitgestellten Änderungen mit einer Meldung zu übernehmen, die beschreibt, was wir getan haben. Alternativ können Sie das Flag -m
weglassen und eine längere Nachricht in einen Editor eingeben, der nach der Eingabe git commit
geöffnet wird.
- Geben Sie git status
erneut ein, um den endgültigen Status unseres Repositorys anzuzeigen. Sie sollten etwa Folgendes sehen:
On branch main Your branch is ahead of 'origin/main' by 1 commit. (use "git push" to publish your local commits) nothing to commit, working tree clean
Das bedeutet, dass Sie über einen Commit verfügen, der noch nicht in das Remote-Repository übertragen wurde. Um es zu pushen, müssen Sie den Befehl git push
verwenden.
– Geben Sie git push origin main
ein, um Ihr lokales Commit in das Remote-Repository auf GitHub zu übertragen.
Alternativ können Sie den Remote-Namen und den Zweignamen angeben, den Sie übertragen möchten, z. B. git push origin main
.
Möglicherweise werden Sie aufgefordert, Ihren GitHub-Benutzernamen und Ihr Passwort einzugeben oder ein persönliches Zugriffstoken zu verwenden, um sich zu authentifizieren.
- Gehen Sie zu Ihrer GitHub-Repository-Seite und aktualisieren Sie sie. Sie sollten Ihren Code und die Commit-Nachricht auf der Seite sehen.
Sie haben Ihren Code erfolgreich an GitHub übertragen. Jetzt können Sie mit dem nächsten Schritt fortfahren, nämlich der Bereitstellung Ihres Django-Projekts auf Heroku.
Heroku ist eine Cloud-Plattform, mit der Sie Webanwendungen bereitstellen, verwalten und skalieren können. Es unterstützt verschiedene Programmiersprachen, Frameworks und Datenbanken wie Python, Django und PostgreSQL.
Es bietet außerdem verschiedene Funktionen und Add-ons, die unsere Webentwicklungserfahrung verbessern, wie z. B. Protokollierung, Überwachung, Caching, Sicherheit usw.
Sie benötigen Heroku, weil es Ihren Bereitstellungsprozess einfacher und schneller macht. Sie können Heroku verwenden, um Ihr Django-Projekt bereitzustellen, ohne sich um die zugrunde liegende Infrastruktur wie Server, Netzwerke oder Betriebssysteme kümmern zu müssen.
Sie können Heroku auch verwenden, um Ihre Webanwendung entsprechend dem Datenverkehr und der Nachfrage zu skalieren. Heroku übernimmt für Sie alle Komplexitäten und Herausforderungen der Webbereitstellung.
Um ein Heroku-Konto zu erstellen, müssen Sie die folgenden Schritte ausführen:
- Gehen Sie zu Heroku und klicken Sie auf die Schaltfläche „Anmelden“ .
- Geben Sie die erforderlichen Informationen wie Name, E-Mail, Passwort usw. ein.
- Wählen Sie eine primäre Entwicklungssprache, z. B. Python.
- Klicken Sie auf die Schaltfläche „Kostenloses Konto erstellen“ .
- Überprüfen Sie unsere E-Mails und klicken Sie auf den Link, um unser Konto zu bestätigen.
Jetzt haben Sie ein kostenloses Heroku-Konto erstellt. Um das Heroku CLI-Tool zu installieren, müssen Sie die folgenden Schritte ausführen:
- Gehen Sie zu [ Heroku CLI und wählen Sie das entsprechende Installationsprogramm für unser Betriebssystem aus, z. B. Windows, Mac OS X oder Linux.
- Laden Sie das Installationsprogramm herunter, führen Sie es aus und befolgen Sie die Anweisungen auf dem Bildschirm.
- Öffnen Sie ein Terminal und geben Sie heroku --version
ein, um zu überprüfen, ob die Installation erfolgreich war. Sie sollten etwa Folgendes sehen:
heroku/7.59.0 win32-x64 node-v12.21.0
Jetzt haben Sie das Heroku CLI-Tool auf Ihrem lokalen Computer installiert. Mit diesem Tool können Sie vom Terminal aus mit Heroku interagieren.
Um eine Heroku-App für unser Django-Projekt zu erstellen, müssen wir die folgenden Schritte ausführen:
- Gehen Sie im Terminal zu Ihrem Django-Projektordner und geben Sie heroku login
ein, um sich mit dem Heroku CLI-Tool bei Ihrem Heroku-Konto anzumelden. Möglicherweise werden Sie aufgefordert, Ihre E-Mail-Adresse und Ihr Passwort einzugeben oder sich mit einem Webbrowser zu authentifizieren.
– Geben Sie heroku create django-docker-app
ein, um eine neue Heroku-App mit dem Namen django-docker-app
zu erstellen. Alternativ können Sie den Namen weglassen und Heroku einen zufälligen Namen für Sie generieren lassen. Sie sollten etwa Folgendes sehen:
Creating ⬢ django-docker-app... done https://django-docker-app.herokuapp.com/ | https://git.heroku.com/django-docker-app.git
Das bedeutet, dass Sie eine neue Heroku-App mit einer Web-URL und einer Git-URL erstellt haben. Über die Web-URL können Sie auf Ihre bereitgestellte Webanwendung zugreifen, und über die Git-URL können Sie Ihren Code an Heroku übertragen.
- Geben Sie heroku config:set SECRET_KEY=<your_secret_key>
, um eine Umgebungsvariable für die SECRET_KEY- Einstellung unseres Django-Projekts festzulegen. Sie müssen <your_secret_key>
durch eine zufällige Zeichenfolge ersetzen, die Sie mit einem Tool wie Django Secret Key Generator generieren können.
Alternativ können Sie den vorhandenen geheimen Schlüssel verwenden, den Sie in Ihrer Datei „settings.py“ haben. Dies wird jedoch aus Sicherheitsgründen nicht empfohlen.
- Geben Sie heroku addons:create heroku-postgresql:hobby-dev
, um Ihrer Heroku-App ein kostenloses PostgreSQL-Datenbank-Add-on hinzuzufügen. Dadurch wird eine neue Datenbank für Ihr Django-Projekt erstellt und eine Umgebungsvariable für die DATABASE_URL- Einstellung Ihres Django-Projekts festgelegt. Sie sollten etwa Folgendes sehen:
Creating heroku-postgresql:hobby-dev on ⬢ django-docker-app... free Database has been created and is available ! This database is empty. If upgrading, you can transfer ! data from another database with pg:copy Created postgresql-curved-12345 as DATABASE_URL Use heroku addons:docs heroku-postgresql to view documentation
Das bedeutet, dass Sie ein PostgreSQL-Datenbank-Add-on mit dem Namen PostgreSQL-curved-12345 und der URL DATABASE_URL hinzugefügt haben.
- Geben Sie heroku config
ein, um die Liste der Umgebungsvariablen anzuzeigen, die Sie für Ihre Heroku-App festgelegt haben. Sie sollten etwa Folgendes sehen:
=== django-docker-app Config Vars DATABASE_URL: postgres://<username>: <password>@<host>:<port>/<database> SECRET_KEY: <your_secret_key>
Das bedeutet, dass Sie über zwei Umgebungsvariablen verfügen, DATABASE_URL und SECRET_KEY , die Sie in Ihren Django-Projekteinstellungen verwenden können.
Nachdem Sie nun eine Heroku-App erstellt und die erforderlichen Einstellungen für unser Django-Projekt konfiguriert haben, können Sie mit dem nächsten Schritt fortfahren, nämlich der Bereitstellung Ihres Django-Projekts für Heroku.
Wie stellen Sie Ihr Django-Projekt mit dem Befehl „ heroku
“ in Heroku bereit?
Um unser Django-Projekt mit dem Befehl heroku
auf Heroku bereitzustellen, müssen Sie die folgenden Schritte ausführen:
- Gehen Sie im Terminal zu Ihrem Django-Projektordner und geben Sie heroku container:login
ein, um sich mit dem Heroku-CLI-Tool bei der Heroku Container Registry anzumelden. Dadurch können Sie unser Docker-Image an Heroku übertragen.
- Geben Sie heroku container:push web -a django-docker-app
, um Ihr Docker-Image zu erstellen und an Heroku zu übertragen. Sie müssen den Namen Ihrer Heroku-App angeben, in diesem Fall django-docker-app . Sie sollten etwa Folgendes sehen:
=== Building web (Dockerfile) Sending build context to Docker daemon 1.024kB Step 1/9 : FROM python:3.9-slim ---> 7f5b6ccd03e9 Step 2/9 : ENV PYTHONUNBUFFERED 1 ---> Using cache ---> 64b5d0e40a22 Step 3/9 : RUN mkdir /code ---> Using cache ---> 4d8c638f2b6c Step 4/9 : WORKDIR /code ---> Using cache ---> e69c02a028cd Step 5/9 : COPY requirements.txt /code/ ---> Using cache ---> 8f0f3e0f2d8c Step 6/9 : RUN pip install -r requirements.txt ---> Using cache ---> 0f7b497d81ed Step 7/9 : COPY . /code/ ---> Using cache ---> c0a8e9a32b16 Step 8/9 : EXPOSE 8000 ---> Using cache ---> a1d36a4a2da4 Step 9/9 : CMD ["gunicorn", "django_docker.wsgi", "--bind", "0.0.0.0:8000"] ---> Using cache ---> f7f3c0418a1d Successfully built f7f3c0418a1d Successfully tagged registry.heroku.com/django-docker-app/web:latest === Pushing web (Dockerfile) The push refers to repository [registry.heroku.com/django-docker-app/web] f7f3c0418a1d: Pushed latest: digest: sha256:6cbbf22cf6aa60e0343e6d8e7c4c2eeb2e cb8fd5e82a42dfe5f4aeeb15af89ec size: 528 Your image has been successfully pushed. You can now release it with the 'container:release' command.
Das bedeutet, dass Sie Ihr Docker-Image erstellt und an Heroku übertragen haben.
- Geben Sie heroku container:release web -a django-docker-app
ein, um unser Docker-Image für unsere Heroku-App freizugeben. Sie sollten etwa Folgendes sehen:
Releasing images web to django-docker-app... done
Dies bedeutet, dass Sie Ihr Docker-Image für Ihre Heroku-App freigegeben haben.
– Geben Sie heroku run python manage.py migrate -a django-docker-app
ein, um die Datenbankmigrationen auf Ihrer Heroku-App auszuführen. Dadurch werden die erforderlichen Tabellen und Indizes für Ihr Django-Projekt in der PostgreSQL-Datenbank erstellt. Sie sollten etwa Folgendes sehen:
Running python manage.py migrate on ⬢ django-docker-app... up, run.1234 (Free) Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions, polls Running migrations: Applying contenttypes.0001_initial... OK Applying auth.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying auth.0012_alter_user_first_name_max_length... OK Applying polls.0001_initial... OK Applying sessions.0001_initial... OK
Das bedeutet, dass Sie die Datenbankmigrationen auf Ihrer Heroku-App ausgeführt haben.
- Geben Sie heroku open -a django-docker-app
ein, um unsere bereitgestellte Webanwendung in einem Webbrowser zu öffnen. Sie sollten sehen, wie unser Django-Projekt auf Heroku läuft.
Sie haben Ihr Django-Projekt mit dem Befehl heroku
erfolgreich in Heroku bereitgestellt. Jetzt können Sie Ihre Webanwendung genießen und mit anderen teilen.
In diesem Tutorial haben Sie gelernt, wie Sie Django-Anwendungen mit Docker, Django und Heroku dockerisieren und bereitstellen. Sie haben gesehen, wie Docker Ihnen dabei helfen kann, isolierte und reproduzierbare Umgebungen für Ihre Anwendungen zu erstellen, und wie Heroku den Bereitstellungsprozess vereinfachen kann.
Sie haben außerdem gelernt, wie Sie mit Docker Compose mehrere Container und Dienste verwalten und wie Sie Ihre Django-Einstellungen für verschiedene Umgebungen konfigurieren.
Das Dockerisieren und Bereitstellen von Django-Anwendungen kann viele Vorteile haben, wie zum Beispiel:
- Schnellere Entwicklungs- und Testzyklen
- Einfachere Zusammenarbeit und gemeinsame Nutzung von Code
- Konsistente und zuverlässige Leistung auf allen Plattformen
- Skalierbarkeit und Flexibilität der Ressourcen
- Sicherheit und Isolierung von Abhängigkeiten
Lesen Sie weiter: CI/CD ist für eine schnelle und zuverlässige Softwarebereitstellung unerlässlich. Um Ihre CI/CD-Pipeline für maximale Effizienz zu optimieren, wählen Sie die richtigen Tools, optimieren Sie Ihren Workflow, nutzen Sie automatisierte Tests und Qualitätssicherung, parallelisieren Sie Builds, nutzen Sie Überwachungs- und Feedbackschleifen, führen Sie Sicherheitsprüfungen durch und verbessern Sie Ihre Pipeline kontinuierlich. Mehr lesen
Lesen Sie auch: Alles, was wir auf der DockerCon 2023 gelernt haben. Lesen Sie mehr
- Docker-Dokumentation : Die offizielle Dokumentation für Docker, in der Sie Anleitungen, Tutorials, Referenzmaterialien und mehr finden.
- Django-Dokumentation : Die offizielle Dokumentation für Django, in der Sie Themen, Anleitungen, Referenzmaterialien und mehr finden.