Einführung Der Dockerfile-Build-Ausführungsvorgang ist ein manueller Vorgang eines einzelnen Containers. Wenn eine Microservice-Architektur verwendet wird, müssen über 100 Container gestartet werden. Wie können die Abhängigkeiten zwischen ihnen aufrechterhalten werden? Drei Schritte:
Erste Erfahrung 1.Docker-Datei VON python:3.7-alpine ARBEITSVERZEICHNIS /code ENV FLASK_APP app.py Umgebung FLASK_RUN_HOST 0.0.0.0 Führen Sie den Befehl apk add --no-cache gcc musl-dev linux-headers aus. KOPIEREN requirements.txt requirements.txt Führen Sie den Befehl „pip install -r requirements.txt“ aus. KOPIEREN . . CMD ["Flasche", "ausführen"] 2.Dienstleistung Importzeit Redis importieren aus Flasche importieren Flasche App = Flask(__name__) Cache = Redis.Redis (Host = "Redis", Port = 6379) auf Grund von get_hit_count(): Wiederholungsversuche = 5 während True: versuchen: returniere cache.incr('Treffer') außer redis.exceptions.ConnectionError als exc: wenn Wiederholungen == 0: erhöhen exc Wiederholungen -= 1 Zeit.Schlaf(0,5) @app.route('/') def hallo(): Anzahl = Trefferanzahl abrufen() return 'Hallo Welt! Ich wurde {} Mal gesehen.\n'.format(Anzahl) docker-compose.yml Version: '3' Leistungen: Webseite: bauen: . Häfen: - "5000:5000" Bände: - .:/Code -logvolume01:/var/log Links: - Redis Redis: Bild: Redis Bände: logvolume01: {} Docker-Compose-Up - Entwicklerhandbuch für Windows Compose-demo_web_1 wird gestartet ... fertig Compose-demo_redis_1 wird gestartet ... fertig Anhängen an compose-demo_redis_1, compose-demo_web_1 redis_1 | 1:C 12. September 2020 07:34:09.654 # oO0OoO0OoO0Oo Redis wird gestartet oO0OoO0OoO0Oo redis_1 | 1:C 12. September 2020 07:34:09.655 # Redis-Version=6.0.7, Bits=64, Commit=00000000, geändert=0, PID=1, gerade gestartet redis_1 | 1:C 12. Sep. 2020 07:34:09.655 # Warnung: Keine Konfigurationsdatei angegeben, verwende die Standardkonfiguration. Um eine Konfigurationsdatei anzugeben, verwende redis-server /path/to/redis.conf redis_1 | 1:M 12. September 2020 07:34:09.657 * Ausführungsmodus=Standalone, Port=6379. redis_1 | 1:M 12. Sep. 2020 07:34:09.657 # WARNUNG: Die TCP-Backlog-Einstellung von 511 kann nicht erzwungen werden, da /proc/sys/net/core/somaxconn auf den niedrigeren Wert von 128 eingestellt ist. redis_1 | 1:M 12. September 2020 07:34:09.657 # Server initialisiert redis_1 | 1:M 12. Sep. 2020 07:34:09.658 # WARNUNG overcommit_memory ist auf 0 gesetzt! Das Speichern im Hintergrund kann bei zu wenig Arbeitsspeicher fehlschlagen. Um dieses Problem zu beheben, fügen Sie 'vm.overcommit_memory = 1' zu /etc/sysctl.conf hinzu und starten Sie dann neu oder führen Sie den Befehl 'sysctl vm.overcommit_memory=1' aus, damit dies wirksam wird. redis_1 | 1:M 12. September 2020 07:34:09.658 * RDB wird geladen, erstellt von Version 6.0.7 redis_1 | 1:M 12. September 2020 07:34:09.658 * RDB-Alter 156 Sekunden redis_1 | 1:M 12. September 2020 07:34:09.658 * RDB-Speichernutzung bei Erstellung 0,77 Mb redis_1 | 1:M 12. September 2020 07:34:09.658 * DB von Festplatte geladen: 0,000 Sekunden web_1 | * Bereitstellung der Flask-App „app.py“ web_1 | * Umgebung: Produktion web_1 | WARNUNG: Dies ist ein Entwicklungsserver. Verwenden Sie ihn nicht in einer Produktionsbereitstellung. web_1 | Verwenden Sie stattdessen einen Produktions-WSGI-Server. web_1 | * Debug-Modus: aus YML-Datei rulesversion: "1.0" #versionservices: #service listservice1: #Dienstkonfiguration container_name: #Containername depends_on: #Abhängigkeitsliste - depend1 -abhängig2 Bilder: #Spiegelbild1 - Bild2 build:. #Verzeichnis erstellen Netzwerk: #Netzwerk...... Dienst2:test2 ...... volumnes: #Verzeichnisliste einbinden networks: #Netzwerkliste configs: #Andere Konfigurationen Dies ist das Ende dieses Artikels über die Implementierung der Docker-Batchcontainer-Orchestrierung. Weitere relevante Inhalte zur Docker-Batchcontainer-Orchestrierung finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: MySQL: Praktische Erfahrung mit der Verwendung der Insert-Anweisung
>>: Die Scroll-Ansicht des WeChat-Applets realisiert die Verknüpfung nach links und rechts
Die MySQL-Funktionen DATE_ADD(date,INTERVAL expr ...
Inhaltsverzeichnis Vorwort 1. Objekt.freeze() 2. ...
1. Die Rolle des Doctypes, der Unterschied zwisch...
Null: Alte Version deinstallieren Ältere Versione...
Ich habe mich kürzlich auch mit der Leistungsopti...
Die Barrierefreiheit von Webseiten scheint etwas z...
Was ist Serdel userdel ist ein Low-Level-Tool zum...
In diesem Artikel wird die Installations- und Kon...
In einer komplexen Tabellenstruktur erstrecken si...
Der digitale Scrolleffekt auf großen Bildschirmen...
1. Legen Sie eine Verzeichnis-Whitelist fest: Leg...
Nginx unterstützt drei Möglichkeiten zum Konfigur...
Nachdem ich viele Schwierigkeiten überwunden hatte...
Inhaltsverzeichnis 01 Was ist Kubernetes? 02 Der ...
<br />Im gesamten Produktdesignprozess liege...