Analyse des Prozesses zum Bereitstellen von Python-Anwendungen in Docker-Containern

Analyse des Prozesses zum Bereitstellen von Python-Anwendungen in Docker-Containern

Einfache Anwendungsbereitstellung

1. Verzeichnisstruktur:

└── Pythonpro #Verzeichnis└── test.py #Datei└── requirements.txt #Datei└── Dockerfile #Datei

2. Schreiben Sie die Dockerfile-Datei

# Basierend auf dem Bild
VON python:3.6.4
# Erstellen Sie einen Code-Ordner Arbeitsverzeichnis/Code
Führen Sie mkdir /code aus.
#Kopieren Sie die aktuelle Codedatei in den Container/Code
KOPIEREN ./code
# Erforderliche Pakete installieren
Führen Sie den Befehl „pip install -r /code/requirements.txt -i https://pypi.douban.com/simple“ aus.
# Geben Sie das Arbeitsverzeichnis von cmd/code an
ARBEITSVERZEICHNIS /code
#Befehle, die beim Starten des Containers ausgeführt werden
CMD ["python","test.py"]

3. Erstellen Sie ein Container-Image

Docker-Build -t-Test.

4. Führen Sie den Container aus

docker run -it --name test --restart immer --privileged=true python-test
--name: Gibt den Namen des Containers als python-test an, wobei „Test“ das gerade erstellte Image ist.

--restart: always. Der Container wird beim Beenden immer neu gestartet.

--privileged=true: Die zum Ausführen von Dateien im Container erforderlichen Berechtigungen.

Django-Anwendungscontainerisierung

1. Verzeichnisstruktur, ich gehe davon aus, dass dieses Verzeichnis in /home/Pythonpro existiert.

└── Pythonpro #Verzeichnis└── manage.py #Datei└── Hauptprojekt #Verzeichnis└── apps #Verzeichnis└── requirements.txt #Datei└── Dockerfile #Datei└── run.sh #Datei

Skript „run.sh“

python /code/manage.py runserver 0.0.0.0:8000

2. Schreiben Sie die Dockerfile-Datei

VON python:3.6.4
RUN mkdir /code \
&&apt-get update \
&&apt-get -y installiere freetds-dev \
&&apt-get -y installiere unixodbc-dev
KOPIEREN ./code 
Führen Sie den Befehl „pip install -r /code/requirements.txt -i https://pypi.douban.com/simple“ aus.
ARBEITSVERZEICHNIS /code
CMD ["/bin/bash","run.sh"]

3. Erstellen Sie ein Image

Docker Build -t Webtest.

4. Führen Sie den Container aus

docker run -it -p 6500:8000 -v /home/Pythonpro:/code --name web --restart always --privileged=true webtest

-p: Ordnen Sie den Port 8000 des Containers dem Port 6500 des Hosts zu.

-v: Das Hostverzeichnis /home/Pythonprot wird dem Containerverzeichnis /code zugeordnet.

--name: gibt den Namen des Containers als web an, das gerade von webtest erstellte Image

--restart: always Der Container wird immer neu gestartet, wenn er beendet wird

--privileged=true: Zum Ausführen von Dateien im Container erforderliche Berechtigungen

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:
  • Informationen zur Verbindung von Python mit dem Cassandra-Container für Abfragen
  • So erstellen Sie eine Deep-Learning-Umgebung mit Python in einem Docker-Container
  • Detaillierte Erklärung der Python-Grundsyntaxcontainer
  • Python-Statistik: Hashbare Objekte, Container-Zähler, detaillierte Erklärung
  • Zusammenfassung der Python-Container
  • In Python-Container integrierte allgemeine Funktionsoperationen

<<:  Natives JS zum Erzielen digitaler Tisch-Spezialeffekte

>>:  Zusammenfassung mehrerer Fehlerprotokolle zum Einrichten und Wechseln von MySQL MHA

Artikel empfehlen

Analyse der Prinzipien und Verwendung von Linux-Hardlinks und Softlinks

Im Linux-System gibt es einen Dateityp namens Lin...

Docker Detaillierte Abbildungen

1. Einführung in Docker 1.1 Virtualisierung 1.1.1...

HTML-Hyperlinks im Detail erklärt

Hyperlink Hyperlinks sind die am häufigsten verwen...

Lösen Sie das Problem der leeren Lücke am unteren Rand des Img-Bildes

Bei der Arbeit an einem aktuellen Projekt habe ic...

Was bedeutet das „a“ in rgba? CSS RGBA-Farbleitfaden

RGBA ist eine CSS-Farbe, mit der Farbwert und Tra...

Rückblick auf die besten Webdesign-Arbeiten 2012 [Teil 1]

Zum Beginn des neuen Jahres möchte ich meinen Fre...

Eine kurze Analyse der parallelen WriteSet-Replikation von MySQL

【Historischer Hintergrund】 Ich arbeite seit drei ...

Über die Implementierung des JavaScript-Karussells

Heute ist ein weiterer sehr praktischer Fall. All...

So implementieren Sie das Strategiemuster in Javascript

Inhaltsverzeichnis Überblick Code-Implementierung...

Löschvorgang für Docker-Volumes

prune Um diesen Befehl verwenden zu können, müsse...

Die Magie des tr-Befehls beim Zählen der Häufigkeit englischer Wörter

Wir alle kennen den Befehl tr, mit dem Ersetzunge...

Erstellen eines Redis-Clusters auf Docker

Inhaltsverzeichnis 1. Ziehen Sie das Bild 2. Erst...

Detaillierte Erklärung gängiger Befehle in MySQL 8.0+

Aktivieren Sie den Fernzugriff Aktivieren Sie die...