? 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
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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
Übertragen Sie Ihr Docker-Image in die Registrierung:
encore build docker myapp
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
- Erstellen Sie eine Datenbank
encore build docker myapp
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
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
Nach dem Login kopieren
encore app create myapp
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
- Taggen Sie das Docker-Image und übertragen Sie es in die DigitalOcean-Container-Registrierung.
encore build docker myapp
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
-
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
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
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!