Dalam panduan ini, kami akan membimbing anda bagaimana anda boleh membina aplikasi NodeJS di docker. Anda akan belajar bagaimana membuat aplikasi NodeJS demo di pelayan anda dan kemudian mendorongnya ke hub Docker. Dalam panduan ini, kami menggunakan Ubuntu 18.04 LTS untuk persekitaran ujian kami.
Oleh itu, mengapa ada yang mahu mendorong aplikasi mereka di docker? Seperti yang kita lihat sebelumnya, Docker menghantar aplikasi dalam bekas yang menggabungkan perpustakaan dan pergantungan. Ini merupakan persekitaran yang lengkap untuk menggunakan aplikasi anda. Selain itu, kawasan persekitaran pembangunan memastikan bahawa aplikasi akan berfungsi dengan cara yang sama di banyak pemaju dan mesin pelanggan.
Prasyarat untuk NodeJS Docker Developement
Panduan ini menganggap anda mempunyai pengetahuan mengenai Docker dan juga beberapa pengetahuan mengenai struktur aplikasi NodeJS.
Sebelum melangkah lebih jauh, pastikan perkara berikut dipasang di persekitaran ujian anda:
- Docker
- NodeJS & NPM
Mari sekarang kotor tangan kita.
Langkah 1: Buat Node.Aplikasi JS
Pertama, mulakan dengan membuat aplikasi NodeJS. Kami akan membuat direktori baru dan kemudian menavigasi di dalamnya seperti yang ditunjukkan.
$ mkdir mynode-app && cd mynode-appSelanjutnya gunakan npm, kependekan dari NodeJS Package Manager, untuk menginisialisasi direktori.
$ npm init
Perintah membuat fail yang dipanggil pakej.json . Anda akan diminta untuk perincian fail JSON seperti nama, versi, keterangan, kata kunci dan pengarang untuk menyebut beberapa.
Pada akhir sekali taip ya untuk mengesahkan butiran pilihan fail json.
Seterusnya, tambahkan kerangka ekspres dengan melaksanakan perintah:
$ Npm pasang express - simpanAnda harus mendapat output seperti gambar di bawah
Langkah 2: Buat Node.Aplikasi JS
Dalam langkah ini, kita perlu membuat fail yang diperlukan untuk aplikasi NodeJS. Mari buat 2 contoh fail seperti berikut:
- js
- html
Untuk indeks.js fail, salin dan tampal kandungan di bawah:
const express = memerlukan ('express')aplikasi const = express ()
aplikasi.dapatkan ('/', (req, res) =>
res.sendFile ('$ __ dirname / indeks.html ')
)
aplikasi.dengar (3000, () =>
konsol.log ('Mendengarkan di port 3000!')
)
Fail membuat laluan untuk indeks.fail html yang akan didengarkan di port 3000
Untuk indeks.fail html, tampal konfigurasi berikut
apa khabar di sana! Selamat datang ke aplikasi NodeJS saya
Kami kini bersedia untuk melancarkan aplikasi NodeJS.
Langkah 3: Jalankan aplikasi NodeJS
Untuk melancarkan aplikasi, cukup mengeluarkan perintah
indeks $ node.js
Dari hasilnya, kita dapat melihat bahawa aplikasi tersebut sedang mendengar di port 3000. Untuk mengesahkan ini, buka penyemak imbas anda dan cari IP pelayan anda seperti yang ditunjukkan
http: // ip-alamat: 3000
Langkah 4: Dockerize aplikasi NodeJS
Seterusnya, kita akan membuat fail Docker
$ touch dockerfileSeterusnya, Tampalkan konfigurasi di bawah
DARI nod: karbonWORKDIR / usr / src / aplikasi
Pakej COPY *.json ./
Jalankan pemasangan npm
SALINAN…
PENDEDAHAN 3000
Indeks CMD ["node", ".js "]
Mari pecahkan ini:
Baris pertama menunjukkan bahawa kami berhasrat untuk menggunakan Node versi terbaru untuk membina imej kami. Node.JS biasanya menggunakan elemen Kimia untuk menamakan versi LTS-nya di Node.
Baris kedua menunjukkan penciptaan /usr / src / aplikasi direktori yang akan menampung kod aplikasi dalam gambar.
Garis 3 dan 4 mengarahkan penyalinan bungkusan.fail json dan pelaksanaan pasang npm perintah
SALINAN… Ini mengemas aplikasi NodeJS - Terdiri daripada fail HTML dan JS - dalam Docker Image.
PENDEDAHAN 3000 Ini menentukan port yang akan digunakan oleh aplikasi NodeJS
CMD ["node", "indeks.js ”] Ini memaparkan perintah yang perlu dijalankan agar aplikasi dapat dimulakan.
Langkah 5. Bina Node.Aplikasi JS
Setelah membuat fail Docker, kita sekarang akan membangun aplikasi NodeJS menggunakan perintah yang ditunjukkan di bawah. Berhasrat untuk memasukkan ruang dan titik pada akhir seperti yang ditunjukkan. Pilihan -t membantu kami memberi tag pada gambar agar lebih mudah untuk mencarinya ketika kami menjalankannya gambar dok perintah.
$ docker build -t mynode-app .
Untuk mengesahkan kewujudan gambar, jalankan arahan:
$ gambar dok
Langkah 6. Menjalankan bekas dok
Dengan gambar kami siap mari kita melancarkannya menggunakan arahan:
# docker run -p 8080: 3000 -d node-app
Perintah akan mengarahkan aplikasi untuk mendengar di port 8080 dan bukannya port 3000. Untuk mengesahkan ini, buka penyemak imbas anda dan cari URL pelayan seperti yang ditunjukkan
http: // ip-alamat: 8080
Langkah 7. Menolak aplikasi ke hub docker
Ini adalah langkah terakhir setelah membina aplikasi kami dan memastikan semua berfungsi seperti yang diharapkan.
Sebelum meneruskan, pastikan anda telah membuat akaun di hub dok
Seterusnya, bina gambar sekali lagi menggunakan kelayakan Docker anda
# docker build -t [USERNAME] / teg .Nama pengguna adalah nama pengguna log masuk hub pelabuhan anda dan teg adalah tag aplikasi anda. Dalam kes saya, arahan akan ditunjukkan
# docker build -t jayarthur / mynode-app .
Sekarang log masuk ke hub docker ditunjukkan.
# log masuk pelabuhanBerikan nama pengguna dan kata laluan anda dan tekan ENTER
Satu-satunya perkara yang tinggal sekarang ialah menolak gambar ke hub docker. Untuk mencapai ini, laksanakan perintah:
# docker push jayarthur / mynode-app
Akhirnya, log masuk ke hab Docker anda dan sahkan keberadaan gambar aplikasi.
Dan ini memberi kita akhir tutorial ini. Jangan ragu untuk menghubungi maklum balas anda. Terima kasih.