Giới thiệu
Docker Compose là một công cụ dùng để định nghĩa và chạy các chương trình Docker sử dụng nhiều container (multi-container).
Với Docker Compose, chúng ta sử dụng một file YAML để thiết lập các cài đặt cấu hình service cần thiết cho chương trình.
Docker Compose giúp người dùng sắp xếp các quy trình của các container dễ dàng hơn, bao gồm khởi động, tắt và thiết lập liên kết nội bộ container và volumes. Trong hướng dẫn này, mình sẽ hướng dẫn bạn cài đặt Docker Compose trên Ubuntu.
Cài đặt Docker Compose
Mặc dù bạn có thể cài đặt Docker Compose từ kho lưu trữ chính thức của Ubuntu, nhưng đây là các phiên bản nhỏ sau bản phát hành mới nhất, vì vậy mình sẽ cài đặt Docker Compose từ kho lưu trữ GitHub của Docker. Các lệnh bên dưới hơi khác so với lệnh bạn sẽ tìm thấy trên trang chính thứ. Các bạn có thể kiểm tra các phiên bản mới nhất ở đây: Link
Ở bài này mình sử dụng version v2.4.1
1. Kiểm tra bản phát hành và cài đặt
sudo curl -L "https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
2. Tiếp theo thiết lập các permission
sudo chmod +x /usr/local/bin/docker-compose
3. Kiểm tra kết quả sau khi cài đặt
docker-compose --version
Sau khi cài đặt thành công chúng ta sẽ kiểm tra xem nó có hoạt động không nhé
Chạy thử một Container với Docker Compose
1. Đầu tiên chúng ta sẽ tạo một thư mục có tên hello-world
mkdir hello-world
cd hello-world
2. Tiếp theo là tạo một file có tên docker-compose.yaml
vi docker-compose.yaml
Trong file đã tạo ở trên các bạn sửa cấu hình như sau:
code-mega-test:
image: hello-world
3. Chạy file docker-compose.yaml
Tại đường dẫn chứa file docker-compose.yaml các bạn dùng lệnh sau
docker-compose up -d
Sau khi chạy đoạn script trên các bạn dùng lệnh sau để kiểm tra container đã tạo:
docker ps -a
Để tắt container trên các bạn dùng lệnh sau
docker-compose up -d
Xong rồi nè 😉 Dễ dàng như ăn kẹo đúng không!!! Mình sẽ để các lệnh trên ở mục Download bên dưới nhé.
Cám ơn các bạn đã theo dõi ~~ Hẹn gặp lại ở bài viết sau nhé 🤩