Rumah  >  Artikel  >  hujung hadapan web  >  Cara menggunakan aplikasi backend ke DigitalOcean menggunakan Docker dan Encore

Cara menggunakan aplikasi backend ke DigitalOcean menggunakan Docker dan Encore

Barbara Streisand
Barbara Streisandasal
2024-10-24 03:59:02596semak imbas

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

? Panduan ini menunjukkan kepada anda cara untuk menggunakan aplikasi Encore ke DigitalOcean menggunakan arahan binaan encore baharu, sebahagian daripada CLI sumber terbuka Encore.

Ini berguna jika anda lebih suka penggunaan manual berbanding automasi yang ditawarkan oleh Platform Awan Encore.

Walaupun apabila digunakan secara manual, Encore memudahkan proses dengan menyediakan alatan untuk membina dan mengkonfigurasi apl anda.⚡️

Sekarang mari kita lihat cara untuk menggunakan apl Encore ke Platform Apl DigitalOcean menggunakan Docker dan binaan encore.?

Prasyarat

  • Akaun DigitalOcean: Pastikan anda mempunyai akaun DigitalOcean. Jika tidak, anda boleh mendaftar di sini.
  • Docker Dipasang: Pastikan Docker dipasang pada mesin tempatan anda. Anda boleh memuat turunnya daripada tapak web Docker.
  • Encore CLI: Pasang 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 (Pilihan): Anda boleh memasang DigitalOcean CLI untuk lebih fleksibiliti dan automasi, tetapi ini tidak diperlukan untuk tutorial ini.

Langkah 1: Cipta Apl Encore

  • Buat Apl Encore Baharu:

    • Jika anda belum berbuat demikian, buat apl Encore baharu menggunakan Encore CLI.
    • Anda boleh menggunakan arahan berikut untuk mencipta apl baharu:
    encore app create myapp
    
    • Pilih templat Hello World.
    • Ikuti gesaan untuk mencipta apl.
  • Bina imej Docker:

    • Bina apl Encore untuk menjana imej docker untuk penempatan:
    encore build docker myapp  
    

Langkah 2: Tolak Imej Docker ke Pendaftaran Kontena

Untuk menggunakan imej Docker anda ke DigitalOcean, anda perlu menolaknya ke daftar kontena. DigitalOcean menyokong
pendaftaran kontenanya sendiri, tetapi anda juga boleh menggunakan DockerHub atau pendaftaran lain. Berikut ialah cara untuk menolak imej ke pendaftaran DigitalOcean:

  • Buat Pendaftaran Kontena DigitalOcean:

    • Pergi ke Panel Kawalan DigitalOcean dan buat pendaftaran kontena baharu.
    • Ikuti arahan untuk menyediakannya.
  • Log masuk ke pendaftaran DigitalOcean:

    Gunakan arahan log masuk yang disediakan oleh DigitalOcean, yang akan kelihatan seperti ini:

   doctl registry login

Anda memerlukan DigitalOcean CLI untuk ini, yang boleh dipasang daripada dokumentasi DigitalOcean CLI.

  • Tandai imej Docker anda: Tandai imej anda supaya sepadan dengan URL pendaftaran.
encore app create myapp
  • Tolak imej Docker anda ke registri:
encore build docker myapp  

Langkah 3: Pasang Imej Docker ke Platform Aplikasi DigitalOcean

  • Navigasi ke Platform Apl:
    Pergi ke Platform Apl DigitalOcean.

  • Buat Apl Baharu:

    • Klik pada "Buat Apl".
    • Pilih pilihan "DigitalOcean Container Registry".
  • Pilih Sumber Imej Docker:

    • Pilih imej yang anda tolak tadi.
  • Konfigurasikan Tetapan Apl:

    • Sediakan pilihan penskalaan: Konfigurasikan bilangan bekas, CPU dan tetapan memori.
    • Pembolehubah persekitaran: Tambahkan sebarang pembolehubah persekitaran yang mungkin diperlukan oleh aplikasi anda.
    • Pilih rantau: Pilih kawasan yang dekat dengan pengguna anda untuk prestasi yang lebih baik.
  • Gunakan Apl:

    • Klik "Seterusnya", semak tetapan dan klik "Buat Sumber".
    • DigitalOcean akan menguruskan penyediaan infrastruktur, menarik imej Docker dan memulakan aplikasi.

Langkah 4: Pantau dan Urus Apl

  • Akses Aplikasi:
    • Setelah digunakan, anda akan mendapat URL awam untuk mengakses aplikasi anda.
    • Uji apl untuk memastikan ia berjalan seperti yang diharapkan, mis.
   doctl registry login
  • Lihat Log dan Metrik:

    • Pergi ke tab "Log Masa Jalan" dalam Platform Apl untuk melihat log
    • Pergi ke tab "Cerapan" untuk melihat metrik prestasi.
  • Urus Tetapan Penskalaan dan Penerapan:

    • Anda boleh menukar konfigurasi apl, seperti tetapan penskalaan, kawasan penempatan atau pembolehubah persekitaran.

Langkah 5: Tambahkan Pangkalan Data pada Apl Anda

Platform Aplikasi DigitalOcean menyediakan pangkalan data terurus, membolehkan anda menambahkan pangkalan data pada apl anda dengan mudah. Begini cara untuk menyediakan pangkalan data terurus untuk apl anda:

  • Navigasi ke Panel Kawalan DigitalOcean:

    • Pergi ke Panel Kawalan DigitalOcean.
    • Klik pada "Pangkalan Data" di bar sisi sebelah kiri.
  • Buat Kluster Pangkalan Data Baharu:

    • Klik "Buat Kluster Pangkalan Data".
    • Pilih PostgreSQL
    • Pilih versi pangkalan data, rantau pusat data dan konfigurasi kelompok (cth., tetapan pembangunan atau pengeluaran berdasarkan keperluan anda).
    • Namakan pangkalan data dan konfigurasikan tetapan lain jika perlu, kemudian klik "Buat Kluster Pangkalan Data".
  • Konfigurasikan Tetapan Pangkalan Data:

    • Setelah pangkalan data dibuat, pergi ke tab "Butiran Sambungan" pada papan pemuka pangkalan data.
    • Salin rentetan sambungan atau tetapan individu (hos, port, nama pengguna, kata laluan, nama pangkalan data). Anda memerlukan butiran ini untuk menyambungkan apl anda ke pangkalan data.
    • Muat turun sijil CA
  • Buat Pangkalan Data

    • Sambung ke pangkalan data menggunakan rentetan sambungan yang disediakan oleh DigitalOcean.
encore app create myapp
  • Buat pangkalan data
encore build docker myapp  
  • Isytiharkan Pangkalan Data dalam apl Encore anda:
    • Buka pangkalan kod apl Encore anda.
    • Tambah pangkalan data mydb pada apl anda (Dokumentasi Pangkalan Data Encore)
   doctl registry login
  • Buat konfigurasi Encore Infrastructure
    • Buat fail bernama infra.config.json dalam akar apl Encore anda.
    • Tambahkan sijil CA dan butiran sambungan pada fail:
   docker tag myapp registry.digitalocean.com/YOUR_REGISTRY_NAME/myapp:latest
  • Sediakan Pembolehubah Persekitaran (Pilihan):

    • Pergi ke papan pemuka Platform Aplikasi DigitalOcean.
    • Pilih apl anda.
    • Dalam bahagian "Tetapan", pergi ke "Pembolehubah Persekitaran Tahap Apl"
    • Tambah kata laluan pangkalan data sebagai pembolehubah persekitaran yang disulitkan yang dipanggil DB_PASSWORD.
  • Bina dan tolak imej Docker:

    • Bina imej Docker dengan konfigurasi yang dikemas kini.
encore app create myapp
  • Tanda dan tolak imej Docker ke pendaftaran kontena DigitalOcean.
encore build docker myapp  
  • Uji Sambungan Pangkalan Data:
    • Gunakan semula apl di DigitalOcean untuk menggunakan perubahan.
    • Uji sambungan pangkalan data dengan memanggil API
   doctl registry login

Petua Penyelesaian Masalah

  • Kegagalan Penerapan: Semak log binaan untuk sebarang ralat. Pastikan imej Docker ditandakan dengan betul dan ditolak ke registri.
  • Apl Tidak Boleh Dicapai: Sahkan bahawa port yang betul didedahkan dalam Dockerfile dan konfigurasi App Platform.
  • Isu Sambungan Pangkalan Data: Pastikan butiran sambungan pangkalan data adalah betul dan pangkalan data boleh diakses daripada apl.

Kesimpulan

Itu sahaja! Anda telah berjaya menggunakan apl Encore ke Platform Apl DigitalOcean menggunakan Docker.?

Kini anda boleh menskalakan apl anda, memantau prestasinya dan mengurusnya dengan mudah melalui papan pemuka DigitalOcean.

? Cubalah sendiri

  • Ketahui tentang membina apl menggunakan Encore dengan Tutorial ini.?
  • Cari inspirasi tentang apa yang perlu dibina dengan Templat Apl Sumber Terbuka ini.?

Membungkus

  • ⭐️ Sokong projek dengan membintangi Encore di GitHub.
  • ? Jika anda mempunyai soalan atau ingin berkongsi kerja anda, sertai hangout pembangun dalam komuniti Encore di Discord.

Atas ialah kandungan terperinci Cara menggunakan aplikasi backend ke DigitalOcean menggunakan Docker dan Encore. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn