1. Giới thiệu về Docker-Compose

Chào các bạn! Docker Compose là một công cụ giúp định nghĩa và chạy các ứng dụng Docker đa container. Với Compose, bạn sử dụng file YAML để cấu hình các dịch vụ của ứng dụng. Sau đó, với một lệnh duy nhất, bạn có thể tạo và khởi động tất cả các dịch vụ từ cấu hình của bạn.  

Docker Compose thường được sử dụng trong quá trình phát triển, kiểm thử và dàn dựng môi trường.

Tại sao cần Docker Compose?

  • Đơn giản hóa việc quản lý container: Với Docker Compose, bạn chỉ cần một lệnh duy nhất để khởi động tất cả các dịch vụ cần thiết cho ứng dụng. Điều này giúp tiết kiệm thời gian và công sức so với việc quản lý thủ công từng container.  
  • Tạo môi trường phát triển nhất quán: Docker Compose cho phép bạn tạo một môi trường phát triển nhất quán trên nhiều máy tính khác nhau. Điều này giúp đảm bảo rằng ứng dụng của bạn hoạt động giống nhau trên tất cả các môi trường.
  • Tăng tốc độ phát triển: Docker Compose giúp bạn nhanh chóng thiết lập và chạy các ứng dụng đa container. Điều này giúp tăng tốc độ phát triển và cho phép bạn tập trung vào việc viết mã.

2. Cài đặt Docker-Compose trên Ubuntu

2.1. Cập nhật hệ thống

Trước khi cài đặt Docker-Compose, bạn nên cập nhật hệ thống để đảm bảo tất cả các gói đều mới nhất:

shell
sudo apt update && sudo apt upgrade -y

2.2. Cài đặt Docker

Docker-Compose yêu cầu Docker phải được cài đặt trước. Nếu bạn chưa cài đặt Docker, hãy làm theo các bước sau:

shell
sudo apt install -y docker.io

Sau đó, khởi động Docker và bật chế độ tự động khởi động cùng hệ thống:

shell
sudo systemctl start docker
sudo systemctl enable docker

Kiểm tra phiên bản Docker:

shell
docker --version

2.3. Cài đặt Docker-Compose

Hiện tại, Docker-Compose không có sẵn trong kho lưu trữ chính thức của Ubuntu, vì vậy bạn cần tải về phiên bản mới nhất từ GitHub.

2.3.1. Tải phiên bản mới nhất

Sử dụng lệnh sau để tải xuống Docker-Compose:

shell
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.3.2. Cấp quyền thực thi

Sau khi tải về, bạn cần cấp quyền thực thi cho Docker-Compose:

shell
sudo chmod +x /usr/local/bin/docker-compose

2.3.3. Kiểm tra phiên bản

Để đảm bảo Docker-Compose đã được cài đặt thành công, hãy chạy lệnh:

shell
docker-compose --version

Nếu hiển thị phiên bản Docker-Compose, có nghĩa là bạn đã cài đặt thành công.

2.4. Tạo file Docker-Compose đơn giản

Để kiểm tra Docker-Compose hoạt động đúng, bạn có thể tạo một file docker-compose.yml đơn giản với nội dung sau:

plain
services:
  web:
    image: nginx:latest
    ports:
      - "8080:80"

Lưu file này và chạy lệnh:

shell
docker-compose up -d

Sau đó, mở trình duyệt và truy cập http://localhost:8080 hoặc IP của máy chủ của bạn nếu thấy giao diện Nginx xuất hiện, có nghĩa là Docker-Compose đang hoạt động đúng.

2.5. Một số lệnh hữu ích với Docker-Compose

2.5.1. Dừng tất cả container

Dừng tất cả container đang chạy trong file docker-compose.yml:

shell
docker-compose down

2.5.2. Xem logs của container

Xem logs của tất cả container trong stack:

shell
docker-compose logs

Xem logs của một dịch vụ cụ thể, ví dụ web:

shell
docker-compose logs web

2.5.3. Kiểm tra trạng thái các container

Xem trạng thái của tất cả container được quản lý bởi Docker-Compose:

shell
docker-compose ps

2.5.4. Xóa tất cả container và volume

Nếu bạn muốn xóa tất cả container cùng với volume được tạo bởi Docker-Compose, sử dụng:

shell
docker-compose down -v

2.5.5. Khởi động lại container

Nếu bạn muốn khởi động lại container mà không cần phải chạy lại up -d, có thể sử dụng:

shell
docker-compose restart

3. Kết luận

Docker-Compose là một công cụ hữu ích giúp quản lý các container một cách dễ dàng. Với hướng dẫn trên, bạn đã có thể cài đặt và chạy Docker-Compose trên Ubuntu thành công. Hãy thử nghiệm thêm với nhiều dịch vụ khác nhau để tận dụng tối đa sức mạnh của Docker-Compose!

Chúc bạn thành công!