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

CSS3 zum Erzielen von Zeitleisteneffekten

Als ich kürzlich meinen Computer einschaltete, sa...

Beispielanalyse der MySQL-Datumsverarbeitungsfunktion

Dieser Artikel stellt hauptsächlich die Beispiela...

Detaillierte Erläuterung des MySQL MVCC-Mechanismusprinzips

Inhaltsverzeichnis Was ist MVCC Mysql-Sperre und ...

Die Verbindung zwischen JavaScript und TypeScript

Inhaltsverzeichnis 1. Was ist JavaScript? 2. Wofü...

Webdesign-Tutorial (8): Webseitenhierarchie und Raumgestaltung

<br />Vorheriger Artikel: Webdesign-Tutorial...

Mit Mailto ist das Senden von E-Mails im HTML-Format ganz einfach

Kürzlich habe ich dem Footer-Postfach des Kunden e...

Beispiel für die Verwendung von JS, um zu bestimmen, ob ein Element ein Array ist

Hier sind die Arten von Daten, die überprüft werd...

Eine kurze Analyse des Zeitproblems von MySQL

Der Standardzeittyp (Datum/Uhrzeit und Zeitstempe...

So finden und löschen Sie doppelte Zeilen in MySQL

Inhaltsverzeichnis 1. So finden Sie doppelte Zeil...

Analyse des HTML-Schreibstils und Gründe erfahrener Leute

1. Navigation: Ungeordnete Liste vs. andere Besch...