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

Hinweise zum erweiterten Zeichengerätetreiber des Linux-Kernel-Gerätetreibers

/****************** * Erweiterter Zeichengerätetr...

Beispielcode einer in Vue3 gekapselten Lupenkomponente

Inhaltsverzeichnis Komponenteninfrastruktur Zweck...

MySQL Dual-Machine Hot-Standby-Implementierungslösung [testbar]

Inhaltsverzeichnis 1. Konzept 2. Umgebungsbeschre...

Lösung für die Auswirkungen leerer Pfade auf die Seitenleistung

Vor ein paar Tagen habe ich einen von Yu Bo getei...

Detaillierte Verwendung des JS-Arrays für jede Instanz

1. forEach() ist ähnlich wie map(). Es wendet ebe...

MySQL-Experiment: Verwenden von Explain zur Analyse des Indextrends

Überblick Die Indizierung ist eine Fähigkeit, die...

Einführung in die Verwendung von exists und except in SQL Server

Inhaltsverzeichnis 1. existiert 1.1 Beschreibung ...

Detaillierte Erläuterung der MySQL-Datumszeichenfolgen-Zeitstempelkonvertierung

Die Konvertierung zwischen Zeit, Zeichenfolge und...

Reiner CSS3-Code zur Implementierung einer laufenden Uhr

Wirkung der OperationCode-Implementierung html &l...