Menyebarkan Aplikasi Node.js Menggunakan Docker

Artikel ini akan menunjukkan kepada Anda bagaimana menyebarkan aplikasi Node Anda dalam wadah Docker.

Catatan: Tutorial ini mengasumsikan bahwa Anda telah menginstal Docker dan siap digunakan.

Langkah 1: Buat aplikasi Node Anda

Buat direktori bernama src. Kami akan menggunakan direktori itu. Buat file bernama yang src/package.jsonmengandung berikut ini:

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

Sekarang buat yang src/index.jsberisi berikut ini:

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');

Perlu diketahui bahwa Anda dapat mengubah port 8080ke apa pun yang Anda inginkan, tetapi untuk contoh ini kami akan mengekspos port ini untuk digunakan untuk aplikasi kami. Setelah Anda membuat dua file ini, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 2: Buat Dockerfile

"Dockerfile" memungkinkan Anda membuat dan menggunakan gambar Docker berdasarkan serangkaian instruksi yang Anda berikan di dalamnya. Buat file dengan nama Dockerfiledan isi dengan konten 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 disebut centos. Jika tidak ada gambar yang tersedia di host Anda, Docker akan menarik satu dari repositori-nya.

MAINTAINER Name Here <username@localhost>

Instruksi ini memungkinkan Anda untuk mengatur pembuat gambar yang sedang 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 menjalankan perintah shell yang diberikan. Dalam contoh ini, ia akan mengunduh rpm rilis epel dan menginstalnya, dan menginstal nodejs dan npm dari repositori-nya. Setelah operasi berikutnya, ia akan masuk ke direktori proyek dan berjalan npm installuntuk menginstal dependensi untuk aplikasi Anda.

COPY ./src /opt/src

Salin direktori (dan file) dari host ke wadah.

EXPOSE 8080

Buka port 8080 untuk digunakan dunia luar.

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

CMD akan memberikan eksekusi default untuk wadah.

Setelah Anda membuat file persis seperti yang ditunjukkan di atas, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 3: Bangun gambar

Untuk membangun gambar Anda, jalankan perintah berikut:

docker build -t name/application .

Ini akan membuat gambar dengan nama repositori name/application. Jika tidak ada kesalahan, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 4: Menyebarkan dan menguji aplikasi

Sekarang semuanya sudah diatur, Anda dapat menjalankan gambar Anda dengan menjalankan yang berikut ini:

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

Untuk menguji aplikasi Anda, jalankan perintah berikut dari host:

curl http://172.17.42.1:49160/ 

Jika Anda melihat Hello from Dockermaka Anda telah berhasil menyebarkan gambar Docker Anda. Jika Anda ingin menguji ini dengan browser Anda, kunjungi http://[SERVER_IP]:49160dari dalam browser Anda (ganti alamat IP yang sesuai) dan Anda akan melihat pesan yang sama.

Tinggalkan Komentar

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.