Ứng dụng mẫu về Docker
NỘI DUNG BÀI VIẾT
Đối với phần còn lại của hướng dẫn này, chúng ta sẽ làm việc với một trình quản lý danh sách việc cần làm đơn giản đang chạy trong Node.js. Nếu bạn chưa quen với Node.js, đừng lo lắng
Tại thời điểm này, nhóm phát triển của bạn còn khá nhỏ và bạn chỉ đơn giản là xây dựng một ứng dụng để chứng minh MVP của bạn (sản phẩm khả thi tối thiểu). Bạn muốn thể hiện cách thức hoạt động và khả năng của nó mà không cần phải suy nghĩ về cách nó sẽ hoạt động cho một nhóm lớn, nhiều nhà phát triển, v.v.
Tải ứng dụng Docker
Trước khi có thể chạy ứng dụng Docker, chúng ta cần lấy mã nguồn ứng dụng Docker vào máy của mình. Đối với các dự án thực, bạn thường sẽ sao chép repo. Tuy nhiên, đối với hướng dẫn này, chúng tôi đã tạo một tệp ZIP chứa ứng dụng.
- Download the App contents. Bạn có thể kéo toàn bộ dự án hoặc tải xuống dưới dạng zip và giải nén thư mục ứng dụng để bắt đầu.
- Sau khi giải nén, hãy sử dụng trình soạn thảo mã yêu thích của bạn để mở dự án. Nếu bạn đang cần một trình chỉnh sửa, bạn có thể sử dụng VS Code. Bạn sẽ thấy package.json và hai thư mục con (src và spec).
Build the app’s container image
Để xây dựng ứng dụng, chúng ta cần sử dụng Dockerfile. Dockerfile chỉ đơn giản là một kịch bản hướng dẫn dựa trên văn bản được sử dụng để tạo một container image. Nếu bạn đã tạo Dockerfiles trước đó, bạn có thể thấy một vài lỗi trong Dockerfile bên dưới. Nhưng, đừng lo lắng. Chúng tôi sẽ xem xét chúng.
- Tạo một tệp có tên Dockerfile trong cùng thư mục với tệp package.json với nội dung sau.
# syntax=docker/dockerfile:1
FROM node:12-alpine
RUN apk add --no-cache python g++ make
WORKDIR /app
COPY . .
RUN yarn install --production
CMD ["node", "src/index.js"]
Code language: PHP (php)
Vui lòng kiểm tra xem tệp Dockerfile không có phần mở rộng tệp như .txt. Một số người chỉnh sửa có thể tự động thêm phần mở rộng tệp này và điều này sẽ dẫn đến lỗi trong bước tiếp theo.
- Nếu bạn chưa làm như vậy, hãy mở một thiết bị đầu cuối và đi tới thư mục ứng dụng với Dockerfile. Bây giờ xây dựng hình ảnh vùng chứa bằng cách sử dụng
docker build
command.
docker build -t getting-started .
Lệnh này đã sử dụng Dockerfile để xây dựng một hình ảnh vùng chứa mới. Bạn có thể nhận thấy rằng rất nhiều “lớp” đã được tải xuống. Điều này là do chúng tôi đã hướng dẫn trình tạo mà chúng tôi muốn bắt đầu từ: image node:12-alpine. Tuy nhiên, vì chúng tôi không có điều đó trên máy của mình, nên hình ảnh đó cần phải được tải xuống.
Sau khi image được tải xuống, chúng tôi đã sao chép trong ứng dụng của mình và sử dụng yarn để cài đặt các phần phụ thuộc của ứng dụng. Chỉ thị CMD chỉ định lệnh mặc định để chạy khi bắt đầu một vùng chứa từ image này.
Cuối cùng, cờ -t gắn thẻ image của chúng tôi. Hãy nghĩ đơn giản đây là tên có thể đọc được của con người cho image cuối cùng. Vì chúng tôi đặt tên cho image là bắt đầu, chúng tôi có thể tham chiếu đến image đó khi chúng tôi chạy một container.
Dấu . cuối cùng của command docker build cho chúng ta biết Docker nên tìm Dockerfile trong thư mục hiện tại.
Start an app container
Bây giờ chúng ta đã có một image, hãy chạy ứng dụng. Để làm như vậy, chúng ta sẽ sử dụng lệnh docker run (nhớ điều đó từ trước đó chứ?).
- Khởi động vùng chứa của bạn bằng cách sử dụng lệnh docker run và chỉ định tên của hình ảnh mà chúng tôi vừa tạo:
docker run -dp 3000:3000 getting-started
Code language: CSS (css)
Nhớ các cờ -d và -p? Chúng tôi đang chạy vùng chứa mới ở chế độ “tách rời” (trong nền) và tạo ánh xạ giữa cổng 3000 của máy chủ đến cổng 3000 của container. Nếu không có ánh xạ cổng, chúng tôi sẽ không thể truy cập ứng dụng.
- Sau một vài giây, mở trình duyệt web của bạn đến http: // localhost: 3000. Bạn sẽ thấy ứng dụng của chúng tôi.
- Hãy tiếp tục và thêm một hoặc hai mục và thấy rằng nó hoạt động như bạn mong đợi. Bạn có thể đánh dấu các mục là hoàn thành và loại bỏ các mục. Giao diện người dùng của bạn đang lưu trữ thành công các mục trong phần phụ trợ. Khá nhanh chóng và dễ dàng, phải không?
Tại thời điểm này, bạn sẽ có một trình quản lý danh sách việc cần làm đang chạy với một vài mục, tất cả đều do bạn xây dựng. Bây giờ, hãy thực hiện một vài thay đổi và tìm hiểu về cách quản lý vùng chứa của chúng tôi.
Nếu bạn xem nhanh Trang tổng quan Docker, bạn sẽ thấy hai vùng chứa của mình đang chạy ngay bây giờ (hướng dẫn này và vùng chứa ứng dụng mới khởi chạy của bạn).
Tóm lược
Trong phần ngắn này, chúng ta đã tìm hiểu những kiến thức cơ bản về xây dựng hình ảnh vùng chứa và tạo Dockerfile để làm như vậy. Sau khi tạo hình ảnh, chúng tôi khởi động vùng chứa và thấy ứng dụng đang chạy.
Leave a Reply