Bagaimana untuk Melabuhkan Aplikasi Node.js

Bagaimana Untuk Melabuhkan Aplikasi Node Js



Dockerizing aplikasi termasuk menentukan semua prasyarat yang diperlukan untuk melaksanakan aplikasi dan kemudian menggunakan Dockerfile untuk membina imej Docker khusus yang boleh dikongsi dengan pelbagai mesin. Melabuhkan ' Node.js ” aplikasi meningkatkan ketekalan, dan memastikan penyahpepijatan yang mudah di penghujung pembangun.

Prasyarat







Prasyarat untuk melabuhkan ' Node.js ” permohonan termasuk yang berikut:



  • Pemasangan Docker.
  • Pemahaman Asas Aplikasi Node.js.

Bagaimana untuk Dockerize Aplikasi Node.js?

A ' Node.js ” permohonan boleh dilabuhkan melalui langkah-langkah berikut:



Langkah 1: Buat Fail 'package.json'.





Mula-mula, buat direktori baharu di mana semua fail akan terdiri. Dalam direktori ini, buat ' package.json ” fail yang mewakili apl bersama kebergantungannya:

{
'nama' : 'docker_web_app' ,
'versi' : '1.0.0' ,
'penerangan' : 'Node.js pada Docker' ,
'pengarang' : 'Pertama terakhir ' ,
'utama' : 'server.js' ,
'skrip' : {
'mula' : 'server nod.js'
} ,
'kebergantungan' : {
'ekspres' : '^4.18.2'
} }



Langkah 2: Hasilkan Fail 'package-lock.json'.

Dalam fail 'package.json', laksanakan ' pemasangan npm ” cmdlet. Ini akan menjana ' package-lock.json ” yang disalin ke imej Docker, seperti berikut:

npm pasang

Langkah 3: Buat Pelayan

Selepas itu, buat ' server.js ” fail yang mengisytiharkan apl web menggunakan “ Express.js ” rangka kerja:

'gunakan ketat' ;

const express = memerlukan ( 'ekspres' ) ;

const PORT = 8080 ;
const HOST = '0.0.0.0' ;

aplikasi const = ekspres ( ) ;
app.get ( '/' , ( req, res ) = > {
hantar semula ( 'Hai dunia' ) ;
} ) ;

app.dengar ( PELABUHAN, HOS, ( ) = > {
konsol.log ( ` Berjalan di http: // ${HOST} : ${PORT} ` ) ;
} ) ;

Sekarang, mari kita beralih kepada metodologi untuk melaksanakan aplikasi dalam bekas Docker melalui imej Docker rasmi.

Langkah 4: Buat fail Docker

Buat fail Docker secara manual dalam direktori yang sama yang terdiri daripada semua fail. Dalam fail ini, tulis baris kod berikut:

DARI nod: 18
WORKDIR / usr / src / aplikasi
SALINAN pakej * .json . /
JALANKAN npm pasang
SALINAN . .
DEDAHKAN 8080
CMD [ 'nod' , 'server.js' ]

Dalam coretan kod di atas, gunakan langkah yang diberikan di bawah:

  • Mula-mula, gunakan versi sokongan jangka panjang terkini 18 nod sebagai imej asas yang terkandung dalam Hab Docker .
  • Selepas itu, buat direktori untuk mengandungi kod aplikasi dalam imej.
  • Ini mewakili direktori kerja untuk aplikasi.
  • Sekarang, pasang kebergantungan aplikasi melalui “ npm ”.
  • Catatan: Jika npm versi 4 atau lebih awal sedang digunakan, fail 'package-lock.json' tidak akan dibuat.
  • Sekarang, salin ' package.json ” fail. Juga, gabungkan kod sumber aplikasi dalam imej Docker melalui ' SALINAN ” arahan.
  • Gunakan ' DEDAHKAN ” arahan untuk membiarkan apl terikat pada port 8080.
  • Akhir sekali, tentukan cmdlet untuk melaksanakan aplikasi melalui CMD yang mentakrifkan masa jalan. Di sini, ' pelayan nod.js ” cmdlet akan digunakan untuk memulakan pelayan.

Langkah 5: Buat Fail '.dockerignore'.

Buat fail '.dockerignore' dalam ' Dockerfile ” direktori/folder yang terdiri daripada kandungan yang diberikan di bawah:

modul_nod
npm-debug.log

Kandungan ini mengelakkan modul tempatan dan log nyahpepijat, masing-masing untuk disalin dalam imej Docker.

Langkah 6: Bina Imej

Sekarang, dalam direktori yang terdiri daripada Dockerfile, bina imej menggunakan cmdlet yang dinyatakan di bawah:

binaan buruh pelabuhan . -t nodejs / nod-web-app

Dalam cmdlet ini, ' nodejs ' merujuk kepada nama direktori jadi nyatakan cmdlet dengan sewajarnya dan ' -t ” bendera menandakan imej.

Sekarang, senaraikan imej melalui arahan ini:

imej buruh pelabuhan

Langkah 7: Jalankan Imej

Laksanakan/jalankan imej menggunakan cmdlet yang dinyatakan di bawah:

lari berlabuh -hlm 49160 : 8080 -d nodejs / nod-web-app

Di sini, ' -hlm bendera ” mengubah hala pelabuhan awam kepada port peribadi dalam bekas dan “ -d ” bendera melaksanakan bekas dalam mod tertanggal, iaitu, di latar belakang.

Langkah 8: Jana Output Apl

Sekarang, cetak output aplikasi menggunakan arahan berikut:

pekerja pelabuhan ps
log docker 77b1e3c8576e

Jika terdapat keperluan untuk menavigasi dalam shell kontena, gunakan ' eksekutif ” cmdlet:

pekerja pelabuhan eksekutif -ia 77b1e3c8576e / tong sampah / bash

Di sini, ' 77b1e3c8576e ' mewakili ID bekas yang boleh disalin melalui ' yang dilaksanakan pekerja pelabuhan ps ” perintah sebelum ini.

Langkah 9: Menguji Aplikasi

Untuk menguji aplikasi, dapatkan semula port apl yang dipetakan oleh Docker:

pekerja pelabuhan ps

Dalam cmdlet di atas, Docker memetakan ' 8080 'port dalam bekas ke port' 49160 ” pada mesin.

Langkah 10: Menggunakan Aplikasi

Jemput permohonan melalui ' keriting ” cmdlet dengan merujuk kepada port yang dipetakan di atas dan memasukkan nilai yang diperlukan:

keriting -i localhost: 49160

Langkah 11: Tutup/Bunuh Aplikasi

Akhir sekali, tutup aplikasi melalui ' bunuh ” cmdlet:

pekerja pelabuhan bunuh 77b1e3c8576e

Juga, sahkan jika aplikasi telah dihentikan melalui arahan ini dengan nilai input:

keriting -i localhost: 49160

Kesimpulan

A ' Node.js ' aplikasi boleh didockerkan dengan mencipta pelayan, fail docker, fail '.dockerignore', membina dan menjalankan imej, menjana output apl dan menguji, menutup dan mengesahkan pemberhentian aplikasi. Artikel ini menghuraikan tentang melabuhkan aplikasi Node.js.