Đọc tệp hình ảnh nodejs
Mục tiêu của ví dụ này là chỉ cho bạn cách lấy một Nút. js vào bộ chứa Docker. Hướng dẫn này nhằm mục đích phát triển chứ không phải để triển khai sản xuất. Hướng dẫn cũng giả định rằng bạn có cài đặt Docker đang hoạt động và hiểu biết cơ bản về cách một Node. ứng dụng js được cấu trúc Show Trong phần đầu tiên của hướng dẫn này, chúng ta sẽ tạo một ứng dụng web đơn giản trong Node. js, sau đó chúng tôi sẽ xây dựng hình ảnh Docker cho ứng dụng đó và cuối cùng chúng tôi sẽ khởi tạo một vùng chứa từ hình ảnh đó Docker cho phép bạn đóng gói một ứng dụng với môi trường của nó và tất cả các phần phụ thuộc của nó vào một "hộp", được gọi là thùng chứa. Thông thường, một vùng chứa bao gồm một ứng dụng chạy trong phiên bản cơ bản của hệ điều hành Linux. Một hình ảnh là bản thiết kế cho một vùng chứa, một vùng chứa là một phiên bản đang chạy của một hình ảnh Tạo nút. ứng dụng jsĐầu tiên, tạo một thư mục mới chứa tất cả các tệp. Trong thư mục này, hãy tạo một tệp 9 mô tả ứng dụng của bạn và các phần phụ thuộc của nó
Với tệp 9 mới của bạn, hãy chạy 1. Nếu bạn đang sử dụng 2 phiên bản 5 trở lên, điều này sẽ tạo ra một tệp 3 sẽ được sao chép vào hình ảnh Docker của bạnSau đó, tạo tệp 4 xác định ứng dụng web bằng cách sử dụng Express. khung js
Trong các bước tiếp theo, chúng ta sẽ xem xét cách bạn có thể chạy ứng dụng này bên trong bộ chứa Docker bằng hình ảnh Docker chính thức. Trước tiên, bạn sẽ cần xây dựng hình ảnh Docker cho ứng dụng của mình Tạo một DockerfileTạo một tệp trống có tên là 5
Mở 5 trong trình soạn thảo văn bản yêu thích của bạnĐiều đầu tiên chúng ta cần làm là xác định hình ảnh mà chúng ta muốn xây dựng từ. Ở đây chúng tôi sẽ sử dụng phiên bản LTS (hỗ trợ dài hạn) mới nhất 7 của 8 có sẵn từ Docker Hub 3Tiếp theo chúng ta tạo một thư mục để chứa mã ứng dụng bên trong image, đây sẽ là thư mục làm việc cho ứng dụng của bạn 4Hình ảnh này đi kèm với Node. js và NPM đã được cài đặt, vì vậy điều tiếp theo chúng ta cần làm là cài đặt các phụ thuộc ứng dụng của bạn bằng cách sử dụng mã nhị phân 2. Xin lưu ý rằng nếu bạn đang sử dụng 2 phiên bản 4 hoặc cũ hơn thì tệp 3 sẽ không được tạo 8Lưu ý rằng, thay vì sao chép toàn bộ thư mục làm việc, chúng tôi chỉ sao chép tệp 9. Điều này cho phép chúng tôi tận dụng các lớp Docker được lưu trong bộ nhớ cache. bitJudo có một lời giải thích tốt về điều này ở đây. Hơn nữa, lệnh 33, được chỉ định trong các nhận xét, giúp cung cấp các bản dựng nhanh hơn, đáng tin cậy, có thể tái sản xuất cho môi trường sản xuất. Bạn có thể đọc thêm về điều này ở đâyĐể gói mã nguồn của ứng dụng bên trong hình ảnh Docker, hãy sử dụng hướng dẫn 34 2Ứng dụng của bạn liên kết với cổng 35, vì vậy bạn sẽ sử dụng hướng dẫn 36 để ánh xạ ứng dụng bởi trình nền 37 6Cuối cùng nhưng không kém phần quan trọng, hãy xác định lệnh để chạy ứng dụng của bạn bằng cách sử dụng 38 xác định thời gian chạy của bạn. Ở đây chúng tôi sẽ sử dụng 39 để khởi động máy chủ của bạn 9 5 của bạn bây giờ sẽ trông như thế này 1tập tin dockerignoreTạo tệp 41 trong cùng thư mục với tệp 5 của bạn với nội dung sau 0Điều này sẽ ngăn các mô-đun cục bộ và nhật ký gỡ lỗi của bạn bị sao chép vào hình ảnh Docker của bạn và có thể ghi đè lên các mô-đun được cài đặt trong hình ảnh của bạn Xây dựng hình ảnh của bạnChuyển đến thư mục chứa 5 của bạn và chạy lệnh sau để xây dựng hình ảnh Docker. Cờ 44 cho phép bạn gắn thẻ hình ảnh của mình để dễ dàng tìm thấy sau này bằng cách sử dụng lệnh 45 1Hình ảnh của bạn bây giờ sẽ được liệt kê bởi Docker 2Chạy hình ảnhChạy hình ảnh của bạn với 46 sẽ chạy vùng chứa ở chế độ tách rời, để vùng chứa chạy ở chế độ nền. Cờ 47 chuyển hướng cổng công cộng sang cổng riêng bên trong vùng chứa. Chạy hình ảnh bạn đã tạo trước đó 3In đầu ra của ứng dụng của bạn 4Nếu bạn cần vào bên trong container, bạn có thể sử dụng lệnh 48 5Bài kiểm traĐể kiểm tra ứng dụng của bạn, hãy lấy cổng của ứng dụng mà Docker đã ánh xạ 6Trong ví dụ trên, Docker đã ánh xạ cổng 35 bên trong vùng chứa tới cổng 80 trên máy của bạnBây giờ bạn có thể gọi ứng dụng của mình bằng cách sử dụng 81 (cài đặt nếu cần qua. 82) 7Tắt hình ảnhĐể tắt ứng dụng chúng tôi đã bắt đầu, chúng tôi chạy lệnh 83. Điều này sử dụng ID của vùng chứa, trong ví dụ này là 84 |