Docker - Cloud: Hướng dẫn入门 về Tính toán Đám mây với Docker

Xin chào các pháp sư tính toán đám mây tương lai! Tôi rất vui mừng được làm hướng dẫn viên của bạn trong hành trình thú vị này vào thế giới của Docker và tính toán đám mây. Là người đã dạy khoa học máy tính hơn một thập kỷ, tôi đã thấy rất nhiều học sinh trở nên hứng thú khi họ lĩnh hội những khái niệm này. Vậy hãy cùng nhau lặn sâu và giải mã Docker và tính toán đám mây nhé!

Docker - Cloud

Bắt đầu

Trước khi chúng ta ra khơi vào đám mây, hãy bắt đầu từ những điều cơ bản. Docker giống như một chiếc thùng container kỳ diệu cho phần mềm của bạn. Nó gói gọn ứng dụng và tất cả các phụ thuộc của nó vào một đơn vị chuẩn hóa gọi là container. Điều này giúp bạn dễ dàng di chuyển ứng dụng của mình từ một môi trường này sang môi trường khác, giống như cách thùng container có thể dễ dàng chuyển đổi giữa tàu, xe tải và xe lửa.

Docker là gì?

Docker là một nền tảng mã nguồn mở tự động hóa việc triển khai, mở rộng và quản lý ứng dụng. Nó sử dụng công nghệ containerization để bao bọc ứng dụng trong một hệ thống tệp đầy đủ chứa mọi thứ nó cần để chạy: mã, thời gian chạy, công cụ hệ thống, thư viện hệ thống - bất cứ thứ gì bạn có thể cài đặt trên một máy chủ.

Hãy xem một ví dụ đơn giản về một Dockerfile, tương tự như một công thức để tạo ra một container Docker:

FROM python:3.9-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

Dockerfile này thực hiện các bước sau:

  1. Bắt đầu với một hình ảnh cơ bản của Python 3.9
  2. Đặt thư mục làm việc là /app
  3. Sao chép các tệp ứng dụng của chúng ta vào container
  4. Cài đặt các phụ thuộc Python
  5. Xác định lệnh để chạy ứng dụng của chúng ta

Tính toán đám mây là gì?

Hãy tưởng tượng bạn có thể thuê một máy tính siêu mạnh mẽ luôn hoạt động và có thể truy cập từ bất kỳ đâu trên thế giới. Đó chính là những gì tính toán đám mây cung cấp! Nó giống như có một máy tính ảo trong sky mà bạn có thể truy cập bất cứ khi nào bạn cần.

Kết nối với Nhà cung cấp Dịch vụ Đám mây

Để bắt đầu hành trình đám mây của chúng ta, chúng ta cần chọn một nhà cung cấp dịch vụ đám mây. Ba nhà cung cấp lớn trong ngành là Amazon Web Services (AWS), Microsoft Azure và Google Cloud Platform (GCP). Trong hướng dẫn này, hãy cùng sử dụng AWS làm ví dụ.

Thiết lập tài khoản AWS

  1. Truy cập trang web của AWS và đăng ký tài khoản.
  2. Sau khi vào, bạn sẽ thấy Bảng điều khiển AWS. Nó có thể trông rất phức tạp ban đầu, nhưng đừng lo lắng - chúng ta sẽ tập trung vào những gì chúng ta cần.

Cài đặt AWS CLI

Giao diện Line Command của AWS (CLI) giống như một枝 phép thuật cho phép bạn kiểm soát các dịch vụ AWS từ terminal. Hãy cài đặt nó:

pip install awscli
aws configure

Khi bạn chạy aws configure, bạn sẽ được yêu cầu cung cấp AWS Access Key ID và Secret Access Key. Đây giống như tên người dùng và mật khẩu của bạn cho các dịch vụ AWS.

Thiết lập Nodes

Trong thế giới của Docker và tính toán đám mây, một "node" cơ bản là một máy (ảo hoặc vật lý) có thể chạy các container Docker. Hãy thiết lập một node trên AWS bằng dịch vụ gọi là EC2 (Elastic Compute Cloud).

Tạo một Instance EC2

  1. Trong Bảng điều khiển AWS, điều hướng đến EC2.
  2. Nhấp vào "Launch Instance".
  3. Chọn một Amazon Machine Image (AMI) - hãy chọn Amazon Linux 2.
  4. Chọn loại instance (t2.micro là miễn phí).
  5. Cấu hình chi tiết instance, thêm lưu trữ và thẻ nếu cần.
  6. Cấu hình một nhóm bảo mật để cho phép truy cập SSH.
  7. Xem xét và khởi động instance.

Bây giờ bạn đã có một máy ảo trong đám mây! Hãy kết nối với nó:

ssh -i your-key-pair.pem ec2-user@your-instance-public-dns

Cài đặt Docker trên Node

Khi bạn đã kết nối với instance EC2 của mình, hãy cài đặt Docker:

sudo yum update -y
sudo amazon-linux-extras install docker
sudo service docker start
sudo usermod -a -G docker ec2-user

Chúc mừng! Bây giờ bạn đã có một node sẵn sàng Docker trong đám mây.

Triển khai một Dịch vụ

Bây giờ đến phần thú vị - hãy triển khai một ứng dụng web đơn giản lên node đám mây của chúng ta bằng Docker!

Tạo một Ứng dụng Web Đơn giản

Đầu tiên, hãy tạo một ứng dụng web Python đơn giản. Tạo một tệp叫做 app.py:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello, Docker Cloud World!'

if __name__ == '__main__':
app.run(host='0.0.0.0', port=80)

Đóng gói Ứng dụng

Bây giờ, hãy tạo một Dockerfile để đóng gói ứng dụng của chúng ta:

FROM python:3.9-slim
WORKDIR /app
COPY . /app
RUN pip install flask
EXPOSE 80
CMD ["python", "app.py"]

Triển khai lên Node Đám mây

  1. Xây dựng hình ảnh Docker:

    docker build -t my-cloud-app .
  2. Chạy container:

    docker run -d -p 80:80 my-cloud-app
  3. Ứng dụng của bạn bây giờ đang chạy! Bạn có thể truy cập nó bằng cách vào địa chỉ IP công cộng của instance EC2 trong trình duyệt web.

Kết luận

Wow,多么 một hành trình! Chúng ta đã đi từ không có gì đến英雄, triển khai một ứng dụng được container hóa trong đám mây. Nhớ rằng, đây chỉ là phần nổi của tảng băng. Thế giới của Docker và tính toán đám mây rất rộng lớn và thú vị, với vô số khả năng để khám phá.

Dưới đây là bảng tham khảo nhanh các lệnh Docker chính chúng ta đã sử dụng:

Lệnh Mô tả
docker build Xây dựng một hình ảnh Docker từ một Dockerfile
docker run Chạy một container Docker
docker ps Liệt kê các container đang chạy
docker stop Dừng một container đang chạy
docker rm Xóa một container

Tiếp tục thực hành, tiếp tục khám phá, và trước khi bạn biết, bạn sẽ trở thành một chuyên gia điều hành các hạ tầng đám mây phức tạp như một người có kinh nghiệm. Nhớ rằng, mỗi chuyên gia từng là một người mới bắt đầu. Chúc bạn may mắn trong việc sử dụng đám mây!

Credits: Image by storyset