Beispiel für die Bereitstellung eines Django-Projekts mit Docker

Beispiel für die Bereitstellung eines Django-Projekts mit Docker

Es ist auch sehr einfach, Django-Projekte mit Docker bereitzustellen. Es ist sehr gut. Teilen Sie es unten

Umfeld

Standardmäßig haben Sie die Docker-Umgebung installiert

Allgemeine Struktur des Django-Projekts

(p3s) [root@opsweb]# Baum opsweb
Abonnieren
├── Apps
├── Protokolle
├── verwalten.py
├── Medien
├── opsweb
├── README.md
├── Anforderungen.txt
└── statisch

Schreiben einer Docker-Datei

Hier wird die Python-Version als die von Docker offiziell bereitgestellte angegeben.

"0.0.0.0:8000" Hier öffne ich Port 8000 im Container FROM python:3.6
RUN mkdir -p /usr/src/app
KOPIEREN Sie pip.conf /root/.pip/pip.conf
KOPIEREN Sie opsweb /usr/src/app/
KOPIEREN Sie run_web.sh /usr/src/app/
Führen Sie den Befehl „pip install -r /usr/src/app/requirements.txt“ aus.
ARBEITSVERZEICHNIS /usr/src/app
CMD [ "sh", "./run_web.sh"]

Schreiben von Pip-Dateien

Hier erfahren Sie, wie Sie Mirror Pip mithilfe der Alibaba Cloud-Quelle schneller installieren können.

[global]
Index-URL = http://mirrors.aliyun.com/pypi/simple/
[installieren]
trusted-host=mirrors.aliyun.com

Vollständige Verzeichnisstruktur

[root@opsweb]# ls
Docker-Datei opsweb pip.conf run_web.sh

Image erstellen

Docker-Build -t ops:v0.1.
Senden des Build-Kontexts an den Docker-Daemon 4,849 MB
Schritt 1: FROM python:3.6
 ---> 3e4c2972dc8d
Schritt 2: RUN mkdir -p /usr/src/app
 ---> Wird ausgeführt in 8ddd929f5c18
 ---> 89dc0a1ffdf0
Zwischenbehälter entfernen 8ddd929f5c18
Schritt 3: KOPIEREN Sie pip.conf /root/.pip/pip.conf
 ---> 5a4a165fed90
Zwischenbehälter entfernen 37f3fdc7e5d2
Schritt 4: KOPIEREN Sie opsweb /usr/src/app/opsweb
 ---> f602e72ffd4c
Zwischenbehälter ausbauen 8d4bb616916d
Schritt 5: KOPIEREN Sie opsweb/requirements.txt /usr/src/app/
 ---> 6fe11a6fcbe0
Zwischencontainer entfernen faeadee32fed
Schritt 6: Führen Sie den Befehl „pip install -r /usr/src/app/requirements.txt“ aus.
 ---> cc09c17d53da
Zwischenbehälter entfernen d7b45bec6993
Schritt 7: WORKDIR /usr/src/app
 ---> Wird ausgeführt in c22dfdddbe81
 ---> c5c944b6df45
Zwischenbehälter entfernen c22dfdddbe81
Schritt 8: CMD python ./manage.py runserver 0.0.0.0:8000
 ---> Wird ausgeführt in 29d5f0f53f6e
 ---> 10d37173fd13
Zwischenbehälter entfernen 29d5f0f53f6e
Erfolgreich erstellt 10d37173fd13

Abschluss

Auf diese Weise wird das Image erstellt und Sie können es dann direkt mit docker run -p8000:8000 ops:v0.1 -d starten oder es auf k8s bereitstellen, was auch sehr einfach ist und auf das ich hier nicht näher eingehen werde.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • So rollen Sie die Django-Protokollkonfiguration nach Datum
  • Detaillierte Erläuterung der Django-Lösung für domänenübergreifende Anforderungsprobleme
  • So richten Sie geplante Aufgaben in Django ein
  • Ich möchte Ihnen Django vorstellen
  • Schritte zum Herstellen einer Verbindung zur MySQL-Datenbank mit Django
  • Einführung in Django-Framework-Vorlagen
  • Django implementiert die Middleware-Methode zum Schreiben von Steuerungsanmeldungen und Zugriffskontrollen
  • Schritte zum Bereitstellen eines Django-Projekts mit k8s
  • Datenbeziehungen in der Django-Datenbank: eins-zu-eins, eins-zu-viele, viele-zu-viele
  • Beispiel für ein erweitertes Benutzerfeld in Django 2.0

<<:  Zusammenfassung häufig verwendeter MySQL-Befehle im Linux-Betriebssystem

>>:  Richtige Methode zum Laden von Schriftarten in Vue.js

Artikel empfehlen

So gestalten Sie Ihre JavaScript-Funktionen eleganter

Inhaltsverzeichnis Objektparameter durch Destrukt...

MySql8 WITH RECURSIVE rekursive Abfrage Eltern-Kind-Sammlungsmethode

Hintergrund Wenn Sie eine Funktion entwickeln, di...

Erläuterung zu JavaScript-Anti-Shake und -Throttling

Inhaltsverzeichnis Stabilisierung Drosselung Zusa...

Grafisches Tutorial zur Installation von MySQL 5.5.27

1. Installation von MySQL 1. Öffnen Sie die herun...

5 Tipps zum Schreiben von CSS, um Ihren Stil standardisierter zu gestalten

1. CSS alphabetisch ordnen Nicht in alphabetischer...

Detaillierte Erklärung der Stile in uni-app

Inhaltsverzeichnis Stile in uni-app Zusammenfasse...

Mehrere gängige Methoden zum Festlegen der Ankerpositionierung in HTML

Mir sind mehrere Möglichkeiten bekannt, die Ankerp...

HTML+CSS zum Erstellen eines Menüs in der oberen Navigationsleiste

Navigationsleiste erstellen: Technische Vorausset...

Implementieren einer benutzerdefinierten Bildlaufleiste mit nativem JS

In diesem Artikelbeispiel wird der spezifische JS...

Interpretation und Verwendung verschiedener React-State-Manager

Zunächst müssen wir wissen, was ein Zustandsmanag...

Verzeichnisberechtigungen beim Erstellen eines Containers mit Docker

Als ich gestern ein Projekt schrieb, musste ich d...