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

Eine detaillierte Analyse und Verarbeitung von MySQL-Alarmen

Vor kurzem hat ein Dienst einen Alarm ausgelöst, ...

MySQL verwendet inet_aton und inet_ntoa, um IP-Adressdaten zu verarbeiten

Dieser Artikel stellt vor, wie Sie IP-Adressdaten...

Methode zum Erstellen eines privaten Docker-Warehouses basierend auf Harbor

Inhaltsverzeichnis 1. Einführung in Harbor 1. Har...

Die Kombination und der Unterschied zwischen ENTRYPOINT und CMD im Dockerfile

Im vorherigen Artikel [Detaillierte Erläuterung v...

Tutorial zu HTML-Tabellen-Tags (8): Hintergrundbild-Attribut BACKGROUND

Legen Sie ein Hintergrundbild für die Tabelle fes...

Anwendung von Hadoop-Zählern und Datenbereinigung

Datenbereinigung (ETL) Vor dem Ausführen des MapR...

MySql 8.0.11-Winxp64 (kostenlose Installationsversion) Konfigurations-Tutorial

1. Entpacken Sie das Zip-Paket in das Installatio...

Docker ermöglicht mehrere Port-Mapping-Befehle

wie folgt: docker run -d -p 5000:23 -p 5001:22 --...

Auswahl der MySQL-Tabellentyp-Speicher-Engine

Inhaltsverzeichnis 1. Zeigen Sie die Speicher-Eng...

18 allgemeine Befehle in der MySQL-Befehlszeile

Bei der täglichen Wartung und Verwaltung von Webs...

So berechnen Sie die Bildrate FPS von Webanimationen

Inhaltsverzeichnis Standards für flüssige Animati...