Trang chủTin tứcDocker Compose là gì? Hướng dẫn sử dụng Docker Compose
Docker Compose là gì? Hướng dẫn sử dụng Docker Compose

Tìm hiểu Docker Compose là gì và hướng dẫn chi tiết giúp bạn quản lý, tối ưu hóa các ứng dụng phức tạp với Docker Compose để triển khai nhiều container.

Quản lý các ứng dụng container phức tạp đòi hỏi một giải pháp linh hoạt và dễ sử dụng. Docker Compose ra đời như một công cụ giúp bạn định nghĩa và quản lý đa container một cách hiệu quả chỉ với một file cấu hình duy nhất. Trong bài viết này, chúng ta sẽ khám phá Docker Compose là gì và cách sử dụng công cụ này để triển khai ứng dụng đa container một cách nhanh chóng.

1. Docker Compose là gì?

Docker Compose là công cụ giúp định nghĩa và khởi chạy multi-container Docker applications. Chỉ với một câu lệnh, ta có thể dễ dàng create và start toàn bộ các services phục vụ cho việc chạy ứng dụng.

Việc sử dụng Docker Compose được tóm lược trong 3 bước cơ bản sau:

  • Khai báo app’s environment với Dockerfile.
  • Khai báo các services cần thiết để chạy app trong docker-compose.yml.
  • Run docker-compose up và Compose sẽ start và run app.

Ta cần phải phân biệt được là dockerfile dùng để build image còn docker compose dùng để từ nhiều image build ra nhiều container.

Docker Compose là gì?
Docker Compose là gì?

2. Lợi ích của Docker Compose là gì?

Đơn giản hóa 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ái sử dụng cấu hình: Tệp tin docker-compose.yml lưu trữ tất cả các cấu hình cần thiết cho các container, giúp dễ dàng tái sử dụng và chia sẻ cấu hình giữa các môi trường phát triển, kiểm thử, và sản xuất.

Tích hợp liền mạch với Docker: Docker Compose là một phần của hệ sinh thái Docker, được thiết kế để làm việc mượt mà với Docker Engine. Việc tích hợp này giúp đảm bảo tính tương thích và hiệu suất cao trong quá trình triển khai container.

Hỗ trợ môi trường phát triển đa dịch vụ: Docker Compose cho phép bạn dễ dàng thiết lập và quản lý các môi trường phát triển phức tạp với nhiều dịch vụ, như web server, database, và các ứng dụng microservices. Điều này rất hữu ích cho các nhóm phát triển làm việc với các hệ thống phân tán.

Lợi ích của Docker Compose là gì?
Lợi ích của Docker Compose là gì?

3. Cách sử dụng Docker Compose

Bài viết này sẽ lấy ví dụ với wordpress nhé. Chúng ta sẽ tạo ra 2 containers, 1 containers chứa mã nguồn wordpress và 1 containers chưa cơ sở dữ liệu mysql. Bằng cách định nghĩa trong file compose. Chỉ với 1 dòng lệnh khởi tạo, docker sẽ lập tức tạo ra 2 containers và sẵn sàng cho chúng ta dựng lên wordpress, một cách nhanh chóng.

Ta cần phải kiểm tra version của docker compose

root@Quang-docker:~# docker compose version

Docker Compose version v2.29.1

Đoạn mã compose sẽ viết theo cú pháp YAML

services:

db:

    image: mariadb:latest

    volumes:

    - mariadb_data:/var/lib/mysql

    - mariadb_logs:/var/log/mysql

    restart: always

    environment:

    - MYSQL_ROOT_PASSWORD=minhlaquang

    - MYSQL_DATABASE=thanhquang

    - MYSQL_USER=thanhquang

    - MYSQL_PASSWORD=minhlaquang

    ports:

    - "3306:3306"

wordpress:

    depends_on:

    - db

    image: wordpress:latest

    volumes:

    - wordpress_data:/var/www/html

    - wordpress_logs:/var/log/apache2

    ports:

    - "8000:80"

    restart: always

    environment:

    - WORDPRESS_DB_HOST=db:3306

    - WORDPRESS_DB_USER=thanhquang

    - WORDPRESS_DB_PASSWORD=minhlaquang

    - WORDPRESS_DB_NAME=thanhquang

volumes:

  mariadb_data:

  mariadb_logs:

  wordpress_data:

  wordpress_logs:

Chạy compose

docker compose up -d

Kiểm tra kết quả:

Kiểm tra kết quả

Tổng kết

Docker Compose là công cụ không thể thiếu cho các nhà phát triển và quản trị hệ thống khi làm việc với các ứng dụng Docker phức tạp. Nhờ vào khả năng quản lý nhiều container một cách dễ dàng và hiệu quả, Docker Compose giúp đơn giản hóa quá trình phát triển, thử nghiệm và triển khai ứng dụng. Bằng cách hiểu rõ Docker Compose là gì và sử dụng Docker Compose hiệu quả, bạn có thể tiết kiệm thời gian, tăng tính linh hoạt và đảm bảo tính nhất quán trong việc quản lý các môi trường container.

>>> Xem thêm: Docker Volume là gì? Phân tích và cách sử dụng Docker Volume

Tác giả:
author avatar
Mình là Huy, hiện mình đang là kỹ sư hệ thống tại SunCloud. Mình có nhiều năm kinh nghiệm, kiến thức chuyên môn về mạng, hệ thống, điện toán mây và an ninh bảo mật. Mình đã triển khai và vận hành rất nhiều dự án thực tế cho doanh nghiệp, cơ quan. Mình đã đạt được một số chứng chỉ quốc tế như CCNP, LPI, VCP, đồng thời mình vẫn đang tiếp tục học tập để trau dồi kiến thức mỗi ngày. Mình rất yêu thích công nghệ, đam mê chia sẻ những kiến thức, thông tin hữu ích cho mọi người.

Tin tức nổi bật