Heim  >  Artikel  >  Web-Frontend  >  So stellen Sie eine Backend-Anwendung mit Docker und Encore auf DigitalOcean bereit

So stellen Sie eine Backend-Anwendung mit Docker und Encore auf DigitalOcean bereit

Barbara Streisand
Barbara StreisandOriginal
2024-10-24 03:59:02596Durchsuche

How to deploy a backend application to DigitalOcean using Docker and Encore

? Diese Anleitung zeigt Ihnen, wie Sie eine Encore-Anwendung auf DigitalOcean bereitstellen, indem Sie den neuen Befehl encore build verwenden, der Teil der Open-Source-CLI von Encore ist.

Dies ist praktisch, wenn Sie die manuelle Bereitstellung der von der Cloud-Plattform von Encore angebotenen Automatisierung vorziehen.

Selbst bei der manuellen Bereitstellung vereinfacht Encore den Prozess, indem es Tools zum Erstellen und Konfigurieren Ihrer App bereitstellt.⚡️

Lassen Sie uns nun einen Blick darauf werfen, wie Sie mithilfe von Docker und Encore Build eine Encore-App auf der App-Plattform von DigitalOcean bereitstellen.

Voraussetzungen

  • DigitalOcean-Konto: Stellen Sie sicher, dass Sie über ein DigitalOcean-Konto verfügen. Wenn nicht, können Sie sich hier anmelden.
  • Docker installiert: Stellen Sie sicher, dass Docker auf Ihrem lokalen Computer installiert ist. Sie können es von der Docker-Website herunterladen.
  • Encore CLI: Installieren Sie die Encore CLI:
    • macOS: brew install encoredev/tap/encore
    • Linux: curl -L https://encore.dev/install.sh | bash
    • Windows: iwr https://encore.dev/install.ps1 | iex
  • DigitalOcean CLI (optional): Sie können die DigitalOcean CLI für mehr Flexibilität und Automatisierung installieren, sie ist für dieses Tutorial jedoch nicht erforderlich.

Schritt 1: Erstellen Sie eine Encore-App

  • Erstellen Sie eine neue Encore-App:

    • Wenn Sie es noch nicht getan haben, erstellen Sie eine neue Encore-App mit der Encore-CLI.
    • Mit dem folgenden Befehl können Sie eine neue App erstellen:
    encore app create myapp
    
    • Wählen Sie die Vorlage „Hello World“ aus.
    • Folgen Sie den Anweisungen, um die App zu erstellen.
  • Erstellen Sie ein Docker-Image:

    • Erstellen Sie die Encore-App, um das Docker-Image für die Bereitstellung zu generieren:
    encore build docker myapp  
    

Schritt 2: Übertragen Sie das Docker-Image in eine Container-Registrierung

Um Ihr Docker-Image auf DigitalOcean bereitzustellen, müssen Sie es in eine Container-Registrierung übertragen. DigitalOcean unterstützt
eine eigene Container-Registry, Sie können aber auch DockerHub oder andere Registrys verwenden. So übertragen Sie das Bild in die Registrierung von DigitalOcean:

  • Erstellen Sie ein DigitalOcean-Containerregister:

    • Gehen Sie zum DigitalOcean Control Panel und erstellen Sie eine neue Containerregistrierung.
    • Folgen Sie den Anweisungen zur Einrichtung.
  • Melden Sie sich bei der Registrierung von DigitalOcean an:

    Verwenden Sie den von DigitalOcean bereitgestellten Anmeldebefehl, der etwa so aussieht:

   doctl registry login

Hierfür benötigen Sie die DigitalOcean CLI, die über die DigitalOcean CLI-Dokumentation installiert werden kann.

  • Taggen Sie Ihr Docker-Image: Kennzeichnen Sie Ihr Bild so, dass es mit der URL der Registrierung übereinstimmt.
encore app create myapp
  • Übertragen Sie Ihr Docker-Image in die Registrierung:
encore build docker myapp  

Schritt 3: Stellen Sie das Docker-Image auf der DigitalOcean App Platform bereit

  • Navigieren Sie zur App-Plattform:
    Gehen Sie zur App-Plattform von DigitalOcean.

  • Neue App erstellen:

    • Klicken Sie auf "App erstellen".
    • Wählen Sie die Option „DigitalOcean Container Registry“.
  • Wählen Sie die Docker-Bildquelle aus:

    • Wählen Sie das Bild aus, das Sie zuvor gepusht haben.
  • Konfigurieren Sie die App-Einstellungen:

    • Skalierungsoptionen einrichten: Konfigurieren Sie die Anzahl der Container, die CPU und die Speichereinstellungen.
    • Umgebungsvariablen: Fügen Sie alle Umgebungsvariablen hinzu, die Ihre Anwendung möglicherweise benötigt.
    • Wählen Sie die Region: Wählen Sie eine Region in der Nähe Ihrer Benutzer aus, um eine bessere Leistung zu erzielen.
  • App bereitstellen:

    • Klicken Sie auf „Weiter“, überprüfen Sie die Einstellungen und klicken Sie auf „Ressourcen erstellen“.
    • DigitalOcean kümmert sich um die Bereitstellung der Infrastruktur, das Abrufen des Docker-Images und das Starten der Anwendung.

Schritt 4: Überwachen und verwalten Sie die App

  • Auf die Anwendung zugreifen:
    • Nach der Bereitstellung erhalten Sie eine öffentliche URL für den Zugriff auf Ihre Anwendung.
    • Testen Sie die App, um sicherzustellen, dass sie wie erwartet läuft, z. B.
   doctl registry login
  • Protokolle und Metriken anzeigen:

    • Gehen Sie zur Registerkarte „Laufzeitprotokolle“ in der App-Plattform, um Protokolle anzuzeigen
    • Gehen Sie zur Registerkarte „Einblicke“, um Leistungsmetriken anzuzeigen.
  • Skalierungs- und Bereitstellungseinstellungen verwalten:

    • Sie können die App-Konfiguration ändern, z. B. Skalierungseinstellungen, Bereitstellungsregion oder Umgebungsvariablen.

Schritt 5: Fügen Sie Ihrer App eine Datenbank hinzu

Die App-Plattform von DigitalOcean bietet verwaltete Datenbanken, sodass Sie ganz einfach eine Datenbank zu Ihrer App hinzufügen können. So richten Sie eine verwaltete Datenbank für Ihre App ein:

  • Navigieren Sie zum DigitalOcean Control Panel:

    • Gehen Sie zur DigitalOcean-Systemsteuerung.
    • Klicken Sie in der linken Seitenleiste auf "Datenbanken".
  • Neuen Datenbankcluster erstellen:

    • Klicken Sie auf "Datenbankcluster erstellen".
    • Wählen Sie PostgreSQL
    • Wählen Sie die Datenbankversion, die Rechenzentrumsregion und die Clusterkonfiguration (z. B. Entwicklungs- oder Produktionseinstellungen entsprechend Ihren Anforderungen) aus.
    • Benennen Sie die Datenbank und konfigurieren Sie bei Bedarf weitere Einstellungen. Klicken Sie dann auf "Datenbankcluster erstellen".
  • Konfigurieren Sie die Datenbankeinstellungen:

    • Sobald die Datenbank erstellt ist, gehen Sie zur Registerkarte „Verbindungsdetails“ des Datenbank-Dashboards.
    • Kopieren Sie die Verbindungszeichenfolge oder einzelne Einstellungen (Host, Port, Benutzername, Passwort, Datenbankname). Sie benötigen diese Angaben, um Ihre App mit der Datenbank zu verbinden.
    • Laden Sie das CA-Zertifikat herunter
  • Erstellen Sie eine Datenbank

    • Stellen Sie mithilfe der von DigitalOcean bereitgestellten Verbindungszeichenfolge eine Verbindung zur Datenbank her.
encore app create myapp
  • Erstellen Sie eine Datenbank
encore build docker myapp  
  • Deklarieren Sie eine Datenbank in Ihrer Encore-App:
    • Öffnen Sie die Codebasis Ihrer Encore-App.
    • Mydb-Datenbank zu Ihrer App hinzufügen (Encore-Datenbankdokumentation)
   doctl registry login
  • Erstellen Sie eine Encore Infrastructure-Konfiguration
    • Erstellen Sie eine Datei mit dem Namen infra.config.json im Stammverzeichnis Ihrer Encore-App.
    • Fügen Sie das CA-Zertifikat und die Verbindungsdetails zur Datei hinzu:
   docker tag myapp registry.digitalocean.com/YOUR_REGISTRY_NAME/myapp:latest
  • Umgebungsvariablen einrichten (optional):

    • Gehen Sie zum Dashboard der DigitalOcean App Platform.
    • Wählen Sie Ihre App aus.
    • Gehen Sie im Abschnitt „Einstellungen“ zu „Umgebungsvariablen auf App-Ebene“
    • Fügen Sie das Datenbankkennwort als verschlüsselte Umgebungsvariable mit dem Namen DB_PASSWORD hinzu.
  • Erstellen und pushen Sie das Docker-Image:

    • Erstellen Sie das Docker-Image mit der aktualisierten Konfiguration.
encore app create myapp
  • Taggen Sie das Docker-Image und übertragen Sie es in die DigitalOcean-Container-Registrierung.
encore build docker myapp  
  • Testen Sie die Datenbankverbindung:
    • Stellen Sie die App erneut auf DigitalOcean bereit, um die Änderungen zu übernehmen.
    • Testen Sie die Datenbankverbindung, indem Sie die API aufrufen
   doctl registry login

Tipps zur Fehlerbehebung

  • Bereitstellungsfehler: Überprüfen Sie die Build-Protokolle auf Fehler. Stellen Sie sicher, dass das Docker-Image korrekt getaggt und in die Registrierung übertragen wird.
  • App nicht zugänglich: Stellen Sie sicher, dass der richtige Port in der Docker-Datei und der App Platform-Konfiguration verfügbar gemacht wird.
  • Datenbankverbindungsprobleme: Stellen Sie sicher, dass die Datenbankverbindungsdetails korrekt sind und die Datenbank über die App zugänglich ist.

Abschluss

Das ist es! Sie haben mit Docker erfolgreich eine Encore-App auf der App-Plattform von DigitalOcean bereitgestellt.?

Sie können Ihre App jetzt skalieren, ihre Leistung überwachen und sie einfach über das DigitalOcean-Dashboard verwalten.

? Probieren Sie es selbst aus

  • In diesen Tutorials erfahren Sie mehr über das Erstellen von Apps mit Encore.?
  • Lassen Sie sich mit diesen Open-Source-App-Vorlagen inspirieren, was Sie bauen können.?

Einpacken

  • ⭐️ Unterstützen Sie das Projekt, indem Sie Encore auf GitHub markieren.
  • ? Wenn Sie Fragen haben oder Ihre Arbeit teilen möchten, treten Sie dem Entwickler-Hangout in der Encore-Community auf Discord bei.

Das obige ist der detaillierte Inhalt vonSo stellen Sie eine Backend-Anwendung mit Docker und Encore auf DigitalOcean bereit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn