Cách Dockerize một ứng dụng Node.js

Cach Dockerize Mot Ung Dung Node Js



Dockerizing một ứng dụng bao gồm việc chỉ định tất cả các điều kiện tiên quyết cần thiết để thực thi ứng dụng và sau đó sử dụng Dockerfile để xây dựng hình ảnh Docker chuyên dụng có thể được chia sẻ với nhiều máy khác nhau. Docker hóa một “ Node.js ” ứng dụng nâng cao tính nhất quán và đảm bảo việc gỡ lỗi thuận tiện ở phía nhà phát triển.

Điều kiện tiên quyết







Các điều kiện tiên quyết để cập bến một “ Node.js ” ứng dụng bao gồm những điều sau đây:



  • Cài đặt Docker.
  • Hiểu biết cơ bản về ứng dụng Node.js.

Làm cách nào để Dockerize một ứng dụng Node.js?

MỘT ' Node.js ” ứng dụng có thể được cập nhật bằng cách thực hiện các bước sau:



Bước 1: Tạo tệp “pack.json”





Đầu tiên, tạo một thư mục mới chứa tất cả các tập tin. Trong thư mục này, tạo thư mục “ gói.json ” tệp đại diện cho ứng dụng cùng với các phần phụ thuộc của nó:

{
'tên' : 'docker_web_app' ,
'phiên bản' : '1.0.0' ,
'Sự miêu tả' : 'Node.js trên Docker' ,
'tác giả' : 'Đầu tiên cuối cùng' ,
'chủ yếu' : 'server.js' ,
'kịch bản' : {
'bắt đầu' : 'nút server.js'
} ,
'sự phụ thuộc' : {
'thể hiện' : '^4.18.2'
} }



Bước 2: Tạo tệp “package-lock.json”

Trong tệp “pack.json”, hãy thực thi lệnh “ cài đặt npm ” lệnh ghép ngắn. Điều này sẽ tạo ra một “ gói-lock.json ” được sao chép vào hình ảnh Docker, như sau:

npm cài đặt

Bước 3: Tạo máy chủ

Sau đó, tạo một “ máy chủ.js ” tệp khai báo một ứng dụng web sử dụng “ Express.js khuôn khổ:

'Sử dụng nghiêm ngặt' ;

const express = yêu cầu ( 'thể hiện' ) ;

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

ứng dụng const = express ( ) ;
ứng dụng.get ( '/' , ( yêu cầu, độ phân giải ) = > {
gửi lại ( 'Chào thế giới' ) ;
} ) ;

ứng dụng.listen ( CẢNG, MÁY CHỦ, ( ) = > {
console.log ( ` Chạy trên http: // ${HOST} : ${PORT} ` ) ;
} ) ;

Bây giờ, hãy chuyển sang các phương pháp để thực thi ứng dụng trong vùng chứa Docker thông qua hình ảnh Docker chính thức.

Bước 4: Tạo Dockerfile

Tạo Dockerfile theo cách thủ công trong cùng một thư mục bao gồm tất cả các tệp. Trong tệp này, viết dòng mã sau:

TỪ nút: 18
WORKDIR / sử dụng / src / ứng dụng
gói SAO CHÉP * .json . /
CHẠY npm cài đặt
SAO CHÉP . .
PHƠI RA 8080
CMD [ 'nút' , 'server.js' ]

Trong đoạn mã trên, hãy áp dụng các bước dưới đây:

  • Đầu tiên, sử dụng phiên bản hỗ trợ dài hạn mới nhất 18 của nút làm hình ảnh cơ sở có trong Trung tâm Docker .
  • Sau đó, tạo một thư mục chứa mã ứng dụng trong hình ảnh.
  • Điều này đại diện cho thư mục làm việc cho ứng dụng.
  • Bây giờ, hãy cài đặt các phần phụ thuộc của ứng dụng thông qua “ npm ”.
  • Ghi chú: Nếu phiên bản npm 4 trở về trước đang được sử dụng, tệp “package-lock.json” sẽ không được tạo.
  • Bây giờ, sao chép “ gói.json ' tài liệu. Ngoài ra, hãy gói mã nguồn của ứng dụng trong hình ảnh Docker thông qua “ SAO CHÉP ' chỉ dẫn.
  • Hãy sử dụng “ PHƠI RA ” hướng dẫn để ứng dụng liên kết với cổng 8080.
  • Cuối cùng, xác định lệnh ghép ngắn để thực thi ứng dụng thông qua CMD xác định thời gian chạy. Ở đây, “ nút server.js ” lệnh ghép ngắn sẽ được sử dụng để khởi động máy chủ.

Bước 5: Tạo tệp “.dockerignore”

Tạo tệp “.dockerignore” trong thư mục “ Dockerfile ” thư mục/thư mục bao gồm nội dung dưới đây:

nút_modules
npm-debug.log

Nội dung này tránh các mô-đun cục bộ và nhật ký gỡ lỗi tương ứng được sao chép trong hình ảnh Docker.

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

Bây giờ, trong thư mục bao gồm Dockerfile, hãy xây dựng hình ảnh bằng lệnh ghép ngắn được nêu bên dưới:

xây dựng docker. -t nútjs / nút-web-app

Trong lệnh ghép ngắn này, “ nútjs ” đề cập đến tên thư mục vì vậy hãy chỉ định lệnh ghép ngắn tương ứng và “ -t ” flag gắn thẻ hình ảnh.

Bây giờ, liệt kê các hình ảnh thông qua lệnh này:

hình ảnh docker

Bước 7: Chạy hình ảnh

Thực thi/chạy hình ảnh bằng lệnh ghép ngắn được nêu bên dưới:

docker chạy -P 49160 : 8080 -d nútjs / nút-web-app

Ở đây, “ -P ” cờ chuyển hướng một cổng công cộng sang một cổng riêng trong vùng chứa và “ -d Cờ ” thực thi vùng chứa ở chế độ tách rời, tức là ở chế độ nền.

Bước 8: Tạo đầu ra của ứng dụng

Bây giờ, in đầu ra của ứng dụng bằng các lệnh sau:

docker ps
nhật ký docker 77b1e3c8576e

Nếu có nhu cầu điều hướng trong vỏ container, hãy sử dụng nút “ người điều hành ” lệnh ghép ngắn:

docker người điều hành -Nó 77b1e3c8576e / thùng rác / đánh đập

Đây, ' 77b1e3c8576e ” đại diện cho ID của vùng chứa có thể được sao chép thông qua lệnh “ docker ps ” lệnh trước đó.

Bước 9: Kiểm tra ứng dụng

Để kiểm tra ứng dụng, hãy truy xuất cổng của ứng dụng mà Docker đã ánh xạ:

docker ps

Trong lệnh ghép ngắn ở trên, Docker đã ánh xạ “ 8080 “cảng trong container tới cảng” 49160 ' Trên máy.

Bước 10: Gọi ứng dụng

Gọi ứng dụng thông qua “ Xoăn ” lệnh ghép ngắn bằng cách tham khảo cổng được ánh xạ ở trên và nhập các giá trị được yêu cầu:

Xoăn -Tôi máy chủ cục bộ: 49160

Bước 11: Đóng/Tắt ứng dụng

Cuối cùng, tắt ứng dụng thông qua “ giết ” lệnh ghép ngắn:

docker giết 77b1e3c8576e

Ngoài ra, hãy xác nhận xem ứng dụng có tạm dừng hay không thông qua lệnh này bằng các giá trị đầu vào:

Xoăn -Tôi máy chủ cục bộ: 49160

Phần kết luận

MỘT ' Node.js ” ứng dụng có thể được cập nhật bằng cách tạo một máy chủ, một dockerfile, tệp “.dockerignore”, xây dựng và chạy hình ảnh, tạo đầu ra của ứng dụng cũng như kiểm tra, đóng và xác nhận việc tạm dừng ứng dụng. Bài viết này trình bày chi tiết về việc neo một ứng dụng Node.js.