Terapkan Aplikasi Node.js Menggunakan Docker

Artikel ini akan menunjukkan kepada anda cara menyebarkan aplikasi Node anda dalam wadah Docker.

Catatan: Tutorial ini mengandaikan bahawa anda telah memasang Docker dan siap untuk digunakan.

Langkah 1: Buat aplikasi Node anda

Buat direktori yang dipanggil src. Kami akan menggunakan direktori itu. Buat fail bernama src/package.jsonyang berikut:

{
  "name": "hello_world",
  "private": true,
  "version": "0.0.1",
  "description": "Hello world Example",
  "author": "",
  "dependencies": {
        "express": "3.2.4"
   }
}

Sekarang buat yang src/index.jsmengandungi yang berikut:

var express = require('express');
var app = express();
app.get('/', function (req, res) {
    res.send('Hello from Docker\n');
});

app.listen(8080);
console.log('Running on http://localhost:8080');

Harap maklum bahawa anda boleh menukar port 8080ke apa sahaja yang anda mahukan, tetapi untuk contoh ini kami akan memaparkan port ini untuk digunakan untuk aplikasi kami. Setelah anda membuat dua fail ini, anda boleh meneruskan ke langkah seterusnya.

Langkah 2: Buat Dockerfile

"Dockerfile" membolehkan anda membina dan menyebarkan gambar Docker berdasarkan sekumpulan arahan yang telah anda berikan di dalamnya. Buat fail bernama Dockerfiledan isi dengan kandungan berikut:

FROM centos:latest
MAINTAINER Name Here <username@localhost>
RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y 
COPY ./src /opt/src
RUN cd /opt/src; npm install
EXPOSE 8080
CMD ["node", "/opt/src/index.js"]

Penjelasan:

FROM centos:latest

Ini akan menggunakan gambar yang dipanggil centos. Sekiranya tidak ada gambar yang tersedia di host anda, Docker akan menariknya dari repositorinya.

MAINTAINER Name Here <username@localhost>

Arahan ini membolehkan anda menetapkan pengarang untuk gambar yang dibuat.

RUN rpm -Uvh http://mirror.pnl.gov/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
RUN yum install nodejs npm -y
…
RUN cd /opt/src; npm install

"RUN" akan melaksanakan perintah shell yang diberikan. Dalam contoh ini, ia akan memuat turun rpm pelepasan epel dan memasangnya, dan memasang nodejs dan npm dari repositorinya. Setelah operasi berikutnya, ia akan dimasukkan ke dalam direktori projek dan dijalankan npm installuntuk memasang kebergantungan untuk aplikasi anda.

COPY ./src /opt/src

Salin direktori (dan fail) dari host ke dalam bekas.

EXPOSE 8080

Buka port 8080 untuk digunakan oleh dunia luar.

CMD ["node", "/opt/src/index.js"]

CMD akan memberikan pelaksanaan lalai untuk kontena.

Setelah anda membuat fail dengan tepat seperti yang ditunjukkan di atas, anda boleh meneruskan ke langkah seterusnya.

Langkah 3: Bina gambar

Untuk membina imej anda, jalankan arahan berikut:

docker build -t name/application .

Ini akan membuat gambar dengan nama repositori name/application. Sekiranya tidak ada kesilapan, anda boleh meneruskan ke langkah seterusnya.

Langkah 4: Sebarkan dan uji aplikasi

Setelah semuanya disiapkan, anda boleh menjalankan gambar anda dengan menjalankan perkara berikut:

docker run -p 49160:8080 -d name/application

Untuk menguji aplikasi anda, jalankan arahan berikut dari host:

curl http://172.17.42.1:49160/ 

Sekiranya anda melihat Hello from Dockermaka anda berjaya menyebarkan gambar Docker anda. Sekiranya anda ingin menguji ini dengan penyemak imbas anda, lawati http://[SERVER_IP]:49160dari dalam penyemak imbas anda (ganti alamat IP yang sesuai) dan anda akan melihat mesej yang sama.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut