Ftechx Logo
AI & Công nghệ

Hướng dẫn sử dụng Docker cho người mới bắt đầu: Từ cài đặt đến triển khai ứng dụng

NA

Nam Anh

ĐÃ KIỂM DUYỆT NỘI DUNG
Ngày đăng: 24/06/2026 Cập nhật cuối: 24/06/2026 Lượt xem: 20 Quy trình sản xuất nội dung
Đánh giá
4.6/5 (181 bình chọn)
Hướng dẫn sử dụng Docker cho người mới bắt đầu: Từ cài đặt đến triển khai ứng dụng

Docker là gì? Tại sao bạn cần nó?

Docker là một nền tảng mã nguồn mở giúp bạn đóng gói ứng dụng và tất cả thư viện phụ thuộc vào một "container" — giống như một chiếc hộp nhỏ gọn, có thể chạy ở bất kỳ đâu: máy tính local, server, hay cloud.

Hãy tưởng tượng: bạn code xong một ứng dụng Python trên máy tính Windows, nó chạy ngon lành. Nhưng khi đưa lên server Linux, nó báo lỗi vì thiếu thư viện, sai phiên bản Python, hoặc xung đột cổng. Với Docker, bạn không bao giờ gặp vấn đề đó — vì ứng dụng của bạn đã được "đóng hộp" cùng với toàn bộ môi trường cần thiết.

Docker container khác với máy ảo (VM) ở chỗ: container nhẹ hơn, khởi động nhanh hơn và dùng chung kernel với hệ điều hành host, trong khi VM cần một hệ điều hành riêng cho mỗi máy ảo.

Tiêu chí Docker Container Máy ảo (VM)
Tốc độ khởi động ✅ Giây ❌ Phút
Dung lượng ✅ MB ❌ GB
Dùng chung kernel ✅ Có ❌ Không — mỗi VM có kernel riêng
Hiệu năng ✅ Gần như native ⚠️ Chậm hơn do ảo hóa
Phù hợp Microservices, DevOps, phát triển web Hệ thống cần cô lập mạnh, môi trường khác kernel

1. Cài đặt Docker

Trên Windows / macOS

Truy cập docker.com, tải Docker Desktop và cài đặt. Sau khi cài, mở terminal chạy thử:

docker --version

Nếu hiện số phiên bản, bạn đã cài thành công!

Trên Linux (Ubuntu/Debian)

Mở terminal và chạy các lệnh sau:

sudo apt update
sudo apt install docker.io -y
sudo systemctl start docker
sudo systemctl enable docker
docker --version

Để chạy Docker không cần sudo:

sudo usermod -aG docker $USER

Sau đó đăng xuất và đăng nhập lại để áp dụng thay đổi.

2. Các lệnh Docker cơ bản bạn cần biết

2.1. Image và Container

  • Image: bản mẫu (template) để tạo container. Giống như file ISO để cài hệ điều hành.
  • Container: một instance chạy từ image. Bạn có thể tạo nhiều container từ cùng một image.

2.2. Lệnh Docker thường dùng

# Kéo image từ Docker Hub
docker pull ubuntu:latest

# Xem danh sách image đã tải
docker images

# Chạy container từ image
docker run -it --name my-ubuntu ubuntu bash

# Xem container đang chạy
docker ps

# Xem tất cả container (kể cả đã dừng)
docker ps -a

# Dừng container
docker stop my-ubuntu

# Xóa container
docker rm my-ubuntu

# Xóa image
docker rmi ubuntu

Giải thích: Lệnh docker run -it ubuntu bash sẽ tạo một container từ image Ubuntu và mở terminal bash bên trong. Khi bạn gõ exit, container sẽ dừng lại.

2.3. Chạy ứng dụng web với Docker

Hãy thử chạy một web server Nginx chỉ với một dòng lệnh:

docker run -d -p 8080:80 --name my-nginx nginx

Ý nghĩa:

  • -d: chạy ngầm (detached)
  • -p 8080:80: ánh xạ cổng 8080 máy host vào cổng 80 container
  • --name my-nginx: đặt tên container

Mở trình duyệt và gõ http://localhost:8080 — bạn sẽ thấy trang chào mừng của Nginx!

3. Tự tạo image với Dockerfile

Dockerfile là file cấu hình để build image của riêng bạn. Dưới đây là ví dụ tạo một ứng dụng Python Flask đơn giản:

Bước 1: Tạo file app.py:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    return "Xin chào từ Docker! 🐳"

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

Bước 2: Tạo file requirements.txt:

flask==3.0.0

Bước 3: Tạo file Dockerfile:

# Sử dụng image Python chính thức
FROM python:3.11-slim

# Thiết lập thư mục làm việc
WORKDIR /app

# Copy requirements và cài đặt thư viện
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

# Copy mã nguồn
COPY . .

# Cổng ứng dụng
EXPOSE 5000

# Lệnh chạy ứng dụng
CMD ["python", "app.py"]

Bước 4: Build image và chạy container:

docker build -t flask-app .
docker run -d -p 5000:5000 --name my-flask flask-app

Giờ bạn đã có một ứng dụng Flask chạy trong container Docker tại http://localhost:5000!

4. Docker Compose — Chạy nhiều container cùng lúc

Trong thực tế, ứng dụng thường gồm nhiều dịch vụ: web server, database, cache... Docker Compose giúp bạn định nghĩa và chạy tất cả chỉ với một file docker-compose.yml.

Ví dụ: Ứng dụng web + MySQL

version: '3.8'
services:
  web:
    build: .
    ports:
      - "5000:5000"
    depends_on:
      - db
  db:
    image: mysql:8.0
    environment:
      MYSQL_ROOT_PASSWORD: root123
      MYSQL_DATABASE: myapp
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:

Chạy toàn bộ hệ thống chỉ với một lệnh:

docker-compose up -d

Để dừng:

docker-compose down

Lợi ích lớn nhất của Docker Compose: Bạn có thể share file docker-compose.yml cho đồng nghiệp, họ chạy một lệnh là có ngay môi trường giống hệt bạn — không cần cài đặt thủ công từng thứ.

5. Một số mẹo hay khi dùng Docker

  • Dùng .dockerignore: Giống .gitignore, giúp Docker bỏ qua file không cần thiết khi build (node_modules, .env, .git...), giúp build nhanh hơn.
  • Khai báo volume để lưu dữ liệu: Khi container bị xóa, dữ liệu trong đó cũng mất. Dùng volume để lưu trữ bền vững: docker run -v mydata:/data ...
  • Xóa container/image không dùng: docker system prune -a — dọn dẹp toàn bộ container, image, network không dùng đến, giải phóng dung lượng ổ cứng.
  • Xem log container: docker logs <tên_container> — rất hữu ích khi debug.
  • Chạy lệnh trong container đang chạy: docker exec -it <tên_container> bash — mở terminal bên trong container.

6. Docker Hub — Kho image khổng lồ

Docker Hub là nơi bạn có thể tải hàng ngàn image có sẵn: Ubuntu, Nginx, MySQL, Python, Node.js... và cũng là nơi bạn đẩy image của mình lên để chia sẻ với team.

Để đẩy image lên Docker Hub:

# Đăng nhập
docker login

# Gắn tag
docker tag flask-app yourusername/flask-app:v1

# Đẩy lên
docker push yourusername/flask-app:v1

Kết luận

Docker là một công cụ không thể thiếu trong bộ kỹ năng của bất kỳ lập trình viên hay DevOps engineer nào. Nó giúp bạn:

  • Loại bỏ vấn đề "máy tôi chạy được mà"
  • Triển khai nhanh chóng — chỉ cần kéo image về và chạy
  • Quản lý môi trường dễ dàng với Dockerfile và Docker Compose
  • Mở rộng linh hoạt — thêm container, cân bằng tải, scale dễ dàng

Bắt đầu ngay hôm nay: cài Docker, chạy thử vài lệnh cơ bản, rồi tự build một image cho ứng dụng của bạn. Chỉ mất 30 phút nhưng sẽ thay đổi hoàn toàn cách bạn làm việc!

Bạn đã dùng Docker chưng? Có khó khăn gì trong quá trình học không? Hãy để lại bình luận bên dưới để FTechx Solutions có thể hỗ trợ bạn nhé! 🚀

Bài viết này có hữu ích với bạn?

Sự đánh giá của bạn là động lực để chúng tôi hoàn thiện hơn mỗi ngày.

Bạn cần giải pháp công nghệ tương tự?

Liên hệ ngay với Ftechx để được tư vấn thiết kế website chuẩn SEO và tối ưu chuyển đổi.