HostingViet | Công ty Cổ phần Công nghệ số Thiên Quang

Docker compose là gì? Các lệnh cơ bản và Cách cài đặt

Tin tức | 2025-04-22 14:50:42+07

Docker compose là gì?

Docker Compose là một công cụ giúp bạn định nghĩa và quản lý các ứng dụng multi-container thông qua một file cấu hình YAML. Nó có thể xử lý đồng thời nhiều container trong các môi trường như sản xuất, phát triển, kiểm thử, staging, workflows của CI.

Bạn có thể hiểu đơn giản là thay vì phải chạy từng container riêng lẻ bằng các lệnh Docker phức tạp, bạn có thể sử dụng một file cấu hình duy nhất (thường là docker-compose.yml) để mô tả tất cả các services (container), mạng, và volumes cần thiết cho ứng dụng của bạn. Sau đó, chỉ với một lệnh duy nhất (docker-compose up), Docker Compose sẽ tạo và khởi chạy tất cả các thành phần này. 

Ví dụ: Thay vì chạy từng container riêng lẻ, bạn có thể định nghĩa một ứng dụng web với backend, frontend, và database trong một file docker-compose.yml, rồi triển khai tất cả cùng lúc. Điều này giúp đơn giản hóa việc phát triển, kiểm thử, và triển khai ứng dụng đa container.

Ví dụ về file docker-compose.yml:

version: '3.8'

services:

  web:

    image: nginx:latest

    ports:

      - "80:80"

    volumes:

      - ./html:/usr/share/nginx/html

  db:

    image: mysql:5.7

    environment:

      MYSQL_ROOT_PASSWORD: mysecretpassword

    volumes:

      - db_data:/var/lib/mysql

volumes:

  db_data:

Trong ví dụ này chúng ta định nghĩa hai services: web và db.

Để chạy ứng dụng này, bạn chỉ cần di chuyển đến thư mục chứa file docker-compose.yml và chạy lệnh docker-compose up -d (-d để chạy ở chế độ detached)

>>> Xem thêm: Docker Là Gì? Kiến Thức Cơ Bản Về Docker Không Thể Bỏ Lỡ

Các lệnh cơ bản trong Docker Compose

Dưới đây là các lệnh docker-compose cơ bản thường được sử dụng:

Lưu ý: Tất cả các lệnh trên cần được thực hiện trong thư mục chứa tệp docker-compose.yml.

Tính năng của Docker Compose

Bên cạnh hiểu Docker Compose là gì, bạn cần nắm rõ các tính năng nổi bật mà nó mang lại:

Cách cài đặt Docker Compose

Docker Compose là công cụ không thể thiếu khi làm việc với nhiều container Docker. Tuy nhiên, cách cài đặt sẽ khác nhau tùy theo hệ điều hành bạn đang sử dụng. Dưới đây là hướng dẫn chi tiết giúp bạn cài đặt nhanh chóng và đúng cách.

Hệ điều hành MacOS

Trên máy Mac, việc sử dụng Docker Compose cực kỳ đơn giản. Bạn chỉ cần cài Docker Desktop cho macOS, Docker Compose đã được tích hợp sẵn, không cần cài đặt riêng.

Hệ điều hành Windows

Tương tự như trên macOS, nếu bạn đang dùng Windows, chỉ cần tải và cài Docker Desktop cho Windows. Docker Compose sẽ tự động được cài kèm, bạn không cần thực hiện bước bổ sung nào.

Hệ điều hành Linux

Với Linux, quá trình cài đặt có phần thủ công hơn, nhưng vẫn rất đơn giản nếu làm theo các bước sau:

Cấp quyền thực thi cho tệp Docker Compose:

bash
sudo chmod +x /path/to/docker-compose

Thay /path/to/docker-compose bằng đường dẫn thực tế đến file Docker Compose bạn đã tải về.

Di chuyển tệp vào thư mục hệ thống (nằm trong biến $PATH) để có thể sử dụng ở bất kỳ đâu:

Bạn có thể thực hiện thao tác chuyển tệp Docker Compose đến thư mục /usr/local/bin bằng câu lệnh sau trên Linux:
bash
sudo mv /path/to/docker-compose /usr/local/bin/docker-compose

Kiểm tra xem Docker Compose đã cài đặt thành công chưa bằng cách nhập câu lệnh sau:
bash
docker-compose --version

Nếu thấy hiện lên phiên bản, tức là Docker Compose đã được cài thành công.

Các bước sử dụng Docker Compose

Docker Compose giúp bạn dễ dàng thiết lập và quản lý nhiều container trong một dự án. Dưới đây tôi sẽ hướng dẫn chi tiết các bước để bạn bắt đầu cài đặt Docker Compose:

Bước 1: Cài đặt Docker Compose

Trước tiên, bạn cần cài Docker Compose. Thông thường, Docker Compose được cài đặt cùng với Docker Desktop trên Windows và macOS. Trên Linux, bạn có thể cần cài đặt nó riêng biệt bằng pip hoặc trình quản lý gói của hệ thống.

Sau khi cài xong, tiếp tục tạo một Dockerfile để xác định environment (mỗi service sẽ chạy trên một container riêng, sử dụng image tương ứng).

Bước 2: Tạo tệp docker-compose.yml

Đây là file trung tâm, nơi bạn định nghĩa các services (container), volumes, networks, … mà ứng dụng multi-container cần. 

Cấu trúc cơ bản: File docker-compose.yml thường có cấu trúc như sau:

version: '3.x' 

services:

  web:

    image: nginx:latest

    ports:

      - "80:80"

    volumes:

      - ./html:/usr/share/nginx/html

  db:

    image: postgres:13

    environment:

      POSTGRES_USER: myuser

      POSTGRES_PASSWORD: mypassword

    volumes:

      - db_data:/var/lib/postgresql/data

volumes:

  db_data:

Trong đó:

Bước 3: Chạy lệnh docker-compose up

Sau khi tạo xong file cấu hình, chạy lệnh sau để Docker Compose bắt đầu dựng môi trường:

Di chuyển vào thư mục chứa file docker-compose.yml.

Chạy lệnh:

bash

docker-compose up

Lúc này, Docker sẽ tự động tải các image nếu chúng chưa có sẵn, tạo mạng và volume, sau đó khởi chạy các container theo đúng cấu hình.

⚙️ Quản lý container với Docker Compose

Dưới đây là một số lệnh hữu ích bạn sẽ dùng thường xuyên:

Lệnh

Chức năng

docker-compose stop

Dừng tất cả container

docker-compose start

Khởi động lại các container đã dừng

docker-compose restart

Khởi động lại tất cả container

docker-compose down

Dừng và xóa các container đã tạo

docker-compose ps

Kiểm tra trạng thái container hiện tại

 

🔧 Tùy chỉnh và cập nhật

Nếu bạn muốn thay đổi bất kỳ cấu hình nào, chỉ cần chỉnh sửa lại file docker-compose.yml, sau đó chạy lại lệnh docker-compose up. Docker sẽ tự động áp dụng thay đổi.

Tuy nhiên, bạn cần đảm bảo bạn đang ở trong đúng thư mục chứa file docker-compose.yml khi chạy các lệnh nhé!

Hy vọng qua bài viết này của HostingViet, bạn đã hiểu rõ Docker Compose là gì? Và cách cài đặt công cụ này một cách nhanh chóng, dễ dàng trên từng hệ điều hành. Chúc bạn triển khai dự án mượt mà và không lỗi phát sinh!


Bài viết khác