Zugang aus Übersee: www.kdjingpai.com
Ctrl + D Lesezeichen für diese Seite
Derzeitige Position:Abb. Anfang " Praktische AI-Tutorials

Dify Ops Manual: Ein praktischer Leitfaden für die Migration von der Docker-Bereitstellung zu Daten

In diesem Artikel wird beschrieben, wie man die Docker im Gesang antworten Docker Compose Bereitstellung, Aktualisierung und Migration von Open-Source-Plattformen zur Entwicklung von LLM-Anwendungen Dify (v0.6.14). Der Inhalt deckt fortgeschrittene Vorgänge ab, von der schnellen Bereitstellung über die Datensicherung bis hin zur Erstellung von Abbildern aus dem Quellcode, mit dem Ziel, einen klaren und praktischen Leitfaden für Entwickler und O&M-Personal zu bieten.

Schnelle Bereitstellung von Dify mit Docker Compose

Für die meisten Benutzer ist die Verwendung der offiziell bereitgestellten Docker Compose Die Dokumentation wird bereitgestellt Dify Der schnellste und empfehlenswerteste Weg.

Schritt 1: Beschaffung der Dify-Bereitstellungsdatei

Erstens, von Dify Holen Sie sich das offizielle Repository der docker Katalog für den Einsatz.

Schritt 2: Umgebungsvariablen konfigurieren

Dify aller Konfigurationen werden über Umgebungsvariablen verwaltet. Vor der Bereitstellung wird die Konfigurationsvorlagendatei .env.example vervielfältigen .env Dokument und passen Sie es dann an Ihre tatsächlichen Bedürfnisse an.

# 进入 docker 部署目录
cd dify/docker
# 复制环境变量配置文件
cp .env.example .env

Anschließend können Sie mit einem Texteditor die Datei .env ändern Sie das Datenbankpasswort entsprechend den Kommentaren in der Datei,SECRET_KEY und andere wichtige Konfigurationen.

Schritt 3: Starten Sie den Dienst

Nach Abschluss der Konfiguration führen Sie den folgenden Befehl aus, um im Hintergrund zu starten Dify aller Dienstleistungen.

docker-compose up -d

Dieser Befehl zieht automatisch die erforderlichen Docker Image und starten Sie alle Container der Reihe nach.

Dify Dienste aktualisieren

(coll.) durchfallen (ein Schüler) Dify Wenn Sie eine neue Version veröffentlichen, können Sie die folgenden Schritte ausführen, um ein Sicherheitsupdate durchzuführen.

  1. Alte Container anhalten und entfernen:
    cd dify/docker
    docker-compose down
    
  2. Daten sichern (wichtig):
    Es wird dringend empfohlen, vor der Durchführung von Aktualisierungen ein Backup zu erstellen. docker Katalog, insbesondere derjenige, in dem die volumes Unterverzeichnisse. Dies ist der Schlüssel zur Gewährleistung der Datensicherheit.
  3. Abrufen der neuen Version des Dokuments:
    Laden Sie die neueste Version von Dify Quellcode, unter Verwendung des neuen docker Der Katalog ersetzt den alten Katalog.
  4. Importieren einer neuen Version des Bildes:
    Wenn Sie sich in einer Offline-Umgebung befinden, müssen Sie die neue Version der Bilddatei im Voraus importieren.
  5. Aktualisieren von Konfigurationsdateien:
    Vergleichen Sie das Alte mit dem Neuen .env Datei, um die benutzerdefinierte Konfiguration auf die neue .env Dokumentation.
  6. Einführung der neuen Version des Dienstes:
    docker-compose up -d
    

Datenmigration und -sicherung

Datenmigration ist eine häufige Anforderung in Betrieb und Wartung.Dify Für die Datenpersistenz gibt es zwei Ansätze: die lokale Verzeichniszuordnung und die Docker Benennen Sie die Datenvolumes, damit sie unterschiedlich migriert werden.

Migrieren Sie Volume-Verzeichnisse, die lokal abgebildet sind

Dify (in Form eines Nominalausdrucks) docker-compose.yaml In der Dokumentation heißt es, dass einige Dienste Daten durch "lokale Verzeichniszuordnung" aufrechterhalten. Das bedeutet, dass ein Verzeichnis im Container direkt mit einem Verzeichnis im Host ./volumes Katalog.

Die Migration auf diese Weise ist sehr einfach und besteht im Wesentlichen aus dem Kopieren von Dateien.

  1. Dify-Dienst beenden
    Alle Container müssen vor der Bearbeitung der Datei angehalten werden, um Konflikte beim Schreiben von Daten zu vermeiden.

    docker-compose down
    
  2. Katalog der verpackten Bände
    Oberbefehlshaber (Militär) volumes Verzeichnis ist in eine Zip-Datei gepackt.

    tar -czvf dify-volumes.tar.gz ./volumes
    
  3. Entpacken auf neuem Server
    Nachdem Sie die ZIP-Datei auf den neuen Server übertragen haben, entpacken Sie sie.

    tar -xzvf dify-volumes.tar.gz
    

Migration von Docker benannten Datenvolumina

in Bezug auf PostgreSQL und andere wichtige Dienstleistungen.Dify angenommen Docker Die Daten werden in einem "benannten Datenvolumen" aufbewahrt. Ein solcher Datenträger besteht aus Docker Einheitliche Verwaltung, deren physische Dateien in der /var/lib/docker/volumes/ Verzeichnis ist das direkte Kopieren relativ umständlich und kann zu Problemen mit den Berechtigungen führen.

laut oradata im Gesang antworten dify_es01_data Diese beiden Datenvolumina werden als Beispiel verwendet, und die folgende Methode wird für die Migration empfohlen.

Anweisungen:: Bei Einsatz mit docker-compose -p dify Geben Sie den Namen des Projekts an.Docker Dem Volume-Namen wird automatisch ein Präfix vorangestellt, z. B. dify_oradata.

Methode 1: Sicherung und Wiederherstellung mit temporären Containern (empfohlen)

Bei dieser Methode ist es nicht erforderlich root Es handelt sich um eine sichere und standardisierte Praxis, bei der der physische Pfad des Datenträgers auf dem Host nicht beachtet werden muss.

  1. Sicherung von Datenvolumes
    Erstellen Sie eine temporäre alpine Container, mounten Sie sowohl das zu sichernde Datenvolumen als auch ein lokales Sicherungsverzeichnis und führen Sie dann den Pack-Befehl innerhalb des Containers aus.

    # 确保当前目录下有 backup 子目录
    mkdir -p backup
    # 备份 oradata 数据卷
    docker run --rm -v oradata:/source -v $(pwd)/backup:/backup alpine sh -c "cd /source && tar czf /backup/oradata.tar.gz ."
    # 备份 dify_es01_data 数据卷
    docker run --rm -v dify_es01_data:/source -v $(pwd)/backup:/backup alpine sh -c "cd /source && tar czf /backup/es_data.tar.gz ."
    
  2. Übertragen von Sicherungsdateien
    Oberbefehlshaber (Militär) backup Verzeichnis des oradata.tar.gz im Gesang antworten es_data.tar.gz Dateiübertragung auf den neuen Server.
  3. Wiederherstellung von Daten auf einem neuen Server
    Erstellen Sie zunächst ein Data-Volume mit dem gleichen Namen auf dem neuen Server und stellen Sie dann die Daten auf ähnliche Weise wieder her.

    # 在新服务器上创建空的命名数据卷
    docker volume create oradata
    docker volume create dify_es01_data
    # 从备份文件恢复数据到 oradata 卷
    docker run --rm -v oradata:/target -v /path/to/backup:/backup alpine sh -c "cd /target && tar xzf /backup/oradata.tar.gz"
    # 从备份文件恢复数据到 dify_es01_data 卷
    docker run --rm -v dify_es01_data:/target -v /path/to/backup:/backup alpine sh -c "cd /target && tar xzf /backup/es_data.tar.gz"
    

Methode 2: Direktes Manipulieren des Host-Volume-Verzeichnisses (erfordert root-Rechte)

Wenn der Server, dem die Datei root Berechtigungen haben, können Sie auch das physische Verzeichnis des Volumes direkt sichern.

  1. Suche nach dem physischen Pfad zu einem Volume
    docker volume inspect oradata dify_es01_data
    

    Dieser Befehl gibt den Namen des Datenträgers Mountpointd.h. der physische Speicherpfad.

  2. Direkte Verpackung
    # 获取路径并打包
    ORADATA_PATH=$(docker volume inspect -f '{{.Mountpoint}}' oradata)
    ES_DATA_PATH=$(docker volume inspect -f '{{.Mountpoint}}' dify_es01_data)
    sudo tar -czf oradata_backup.tar.gz -C $ORADATA_PATH .
    sudo tar -czf es_data_backup.tar.gz -C $ES_DATA_PATH .
    

Erweiterte Operationen: Erstellen und Verwalten von Bildern aus der Quelle

In Szenarien, in denen eine sekundäre Entwicklung erforderlich ist, Sicherheits-Patches angewendet oder Offline-Bereitstellungen vorgenommen werden, sind manuelle Builds vom Quellcode erforderlich. Dify (in Form eines Nominalausdrucks) Docker Spiegeln.

Aufbau von APIs und Web Mirrors

Dify Die Kerndienste sind unterteilt in api im Gesang antworten web Zwei Teile, die separat gebaut werden müssen.

  1. Erstellen Sie das API-Image (dify/dify-api)
    cd api && docker build . -t dify/dify-api:0.6.14
    
  2. Erstellen Sie ein Web-Image (dify/dify-web)
    cd web && docker build . -t dify/dify-web:0.6.14
    

Exportieren und Importieren von Bildern (für Offline-Umgebungen)

Nachdem ein Bild erstellt oder gezogen wurde, kann es als .tar Datei für den Import zur Verwendung auf Servern, die keinen Zugang zum externen Netz haben.

  1. Spiegel exportieren
    ausnutzen docker save um ein oder mehrere Bilder zu verpacken.

    # 导出 Dify 核心镜像
    docker save -o dify_dify_api_0.6.14.tar dify/dify-api:0.6.14
    docker save -o dify_dify_web_0.6.14.tar dify/dify-web:0.6.14
    # 导出其它依赖镜像
    docker save -o postgres_15_alpine.tar postgres:15-alpine
    docker save -o redis_6_alpine.tar redis:6-alpine
    
  2. Bilder importieren
    Verwenden Sie auf dem neuen Server die docker load Befehl von .tar Datei, um das Bild zu laden.

    docker load -i dify_dify_api_0.6.14.tar
    docker load -i dify_dify_web_0.6.14.tar
    docker load -i postgres_15_alpine.tar
    docker load -i redis_6_alpine.tar
    

Analyse von Kernkonzepten

Das Verständnis der folgenden Schlüsselkonzepte hilft bei der besseren Wartung und Nutzung der Dify.

docker zusammen mit docker-legacy Verzeichnis (auf der Festplatte des Computers)

existieren Dify Im Quellcode gibt es zwei Verzeichnisse für die Bereitstellung.docker-legacy ist die alte Einsatzmethode, und die docker Der Katalog ist die derzeit empfohlene und übersichtlichere Bereitstellungsoption. Neue Benutzer sollten sich immer für die docker Katalog.

SECRET_KEY Rolle der

existieren dify-api gewartet .env Konfigurationsdatei.SECRET_KEY ist eine wichtige Sicherheitskonfiguration. Es handelt sich um eine lange zufällige Zeichenfolge, die zur Verschlüsselung und Ausgabe der Sitzung eines Benutzers verwendet wird cookiedie verhindert, dass die Sitzung manipuliert werden kann. Stellen Sie sicher, dass Sie einen komplexen Wert wählen, den niemand erraten kann.

Zum Zeitpunkt der Erstellung ignoriert storage Verzeichnis (auf der Festplatte des Computers)

Dify (in Form eines Nominalausdrucks) Dockerfile Wenn das Bild erstellt ist, wird es durch den .dockerignore Dokumentation ausdrücklich ignoriert storage Katalog. Der Grund dafür ist storage Verzeichnis wird verwendet, um vom Mieter hochgeladene Dateien, Schlüsselpaare und andere sensible oder private Informationen zu speichern, die nicht in ein allgemeines Docker im Image und sollte stattdessen zur Laufzeit dynamisch über ein Datenvolumen eingebunden werden.

zerlegen. docker run --rm Befehl Backup

Die empfohlene Backup-Befehlsvorlage im Abschnitt Datenmigration hat für die einzelnen Parameter die folgenden Bedeutungen:

docker run --rm -v <volume_to_backup>:/source -v <host_backup_dir>:/backup <image> sh -c "<commands>"
Baugruppen Bedeutung und Verwendung
docker run Starten Sie einen neuen Container.
--rm Container werden nach der Ausführung automatisch gelöscht, was ideal ist, um einmalige Aufgaben auszuführen und zu vermeiden, dass nutzlose temporäre Container zurückbleiben.
-v :/source Sichern Sie die Docker Das Datenvolumen wird in den Container innerhalb des /source Katalog.
-v :/backup Hängen Sie das Verzeichnis auf dem Host-Rechner, das zum Speichern der Sicherungsdateien verwendet wird, in das Verzeichnis /backup Katalog.
Geben Sie ein leichtgewichtiges Basisbild an, wie z. B. alpineEs hat einen eingebauten tar und andere gängige Werkzeuge.
sh -c "..." innerhalb des Containers ausgeführt shell Befehl. Zum Beispiel cd /source && tar czf /backup/backup.tar.gz . Zeigt an, dass Sie in das Quelldatenverzeichnis gehen und dann den gesamten Inhalt in das Sicherungsverzeichnis packen.

Empfohlen

Sie können keine AI-Tools finden? Versuchen Sie es hier!

Geben Sie einfach das Schlüsselwort Barrierefreiheit Bing-SucheDer Bereich KI-Tools auf dieser Website bietet eine schnelle und einfache Möglichkeit, alle KI-Tools auf dieser Website zu finden.

Posteingang

Kontakt

zurück zum Anfang

de_DEDeutsch