Triển khai ứng dụng Node.js bằng Docker

Bài viết này sẽ chỉ cho bạn cách triển khai ứng dụng Node của bạn trong bộ chứa Docker.

Lưu ý: Hướng dẫn này giả định rằng bạn đã cài đặt Docker và sẵn sàng để sử dụng.

Bước 1: Tạo ứng dụng Nút của bạn

Tạo một thư mục gọi là src. Chúng tôi sẽ sử dụng thư mục đó. Tạo một tệp có tên src/package.jsonnhư sau:

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

Bây giờ tạo một src/index.jschứa như sau:

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

Xin lưu ý rằng bạn có thể thay đổi cổng 8080thành bất cứ điều gì bạn muốn, nhưng với ví dụ này, chúng tôi sẽ đưa ra cổng này để sử dụng cho ứng dụng của chúng tôi. Khi bạn đã tạo hai tệp này, bạn có thể tiến hành bước tiếp theo.

Bước 2: Tạo Dockerfile

"Dockerfile" cho phép bạn xây dựng và triển khai hình ảnh Docker dựa trên bộ hướng dẫn bạn đã cung cấp trong đó. Tạo một tệp có tên Dockerfilevà điền vào đó với nội dung sau:

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"]

Giải trình:

FROM centos:latest

Điều này sẽ sử dụng một hình ảnh được gọi là centos. Nếu không có hình ảnh có sẵn trên máy chủ của bạn, Docker sẽ lấy một cái từ kho lưu trữ của nó.

MAINTAINER Name Here <username@localhost>

Hướng dẫn này cho phép bạn đặt tác giả cho hình ảnh được tạo.

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

"CHẠY" sẽ thực thi các lệnh shell được đưa ra. Trong ví dụ này, nó sẽ tải xuống vòng / phút phát hành epel và cài đặt nó, đồng thời cài đặt nodejs và npm từ kho lưu trữ của nó. Sau thao tác tiếp theo, nó sẽ cd vào thư mục dự án và chạy npm installđể cài đặt các phụ thuộc cho ứng dụng của bạn.

COPY ./src /opt/src

Sao chép thư mục (và tệp) từ máy chủ lưu trữ vào thùng chứa.

EXPOSE 8080

Mở cổng 8080 cho thế giới bên ngoài sử dụng.

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

CMD sẽ cung cấp thực thi mặc định cho container.

Khi bạn đã tạo tệp chính xác như cách nó được hiển thị ở trên, bạn có thể tiến hành bước tiếp theo.

Bước 3: Xây dựng hình ảnh

Để xây dựng hình ảnh của bạn, hãy chạy lệnh sau:

docker build -t name/application .

Điều này sẽ tạo ra một hình ảnh với một tên kho lưu trữ của name/application. Nếu không có lỗi, bạn có thể tiến hành bước tiếp theo.

Bước 4: Triển khai và kiểm tra ứng dụng

Bây giờ mọi thứ đã được thiết lập, bạn có thể chạy hình ảnh của mình bằng cách chạy như sau:

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

Để kiểm tra ứng dụng của bạn, hãy chạy lệnh sau từ máy chủ:

curl http://172.17.42.1:49160/ 

Nếu bạn thấy Hello from Dockerthì bạn đã triển khai thành công hình ảnh Docker của bạn. Nếu bạn muốn kiểm tra điều này với trình duyệt của mình, hãy truy cập http://[SERVER_IP]:49160từ bên trong trình duyệt của bạn (thay thế địa chỉ IP tương ứng) và bạn sẽ thấy thông báo tương tự.

Để lại bình luận

Cách cài đặt SuiteCRM trên Ubuntu 16.04

Cách cài đặt SuiteCRM trên Ubuntu 16.04

Hướng dẫn cài đặt SuiteCRM, một giải pháp CRM mã nguồn mở, trên Ubuntu 16.04 với các bước chi tiết và dễ hiểu.

ReactOS: Đây có phải là tương lai của Windows?

ReactOS: Đây có phải là tương lai của Windows?

ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1