? 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
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
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!