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 service cần thiết cho chương trình. Cuối cùng, với một câu lệnh, chúng ta sẽ create và start tất cả service từ các thiết lập đó.
Sử dụng Compose thường có ba bước sau:
Khai báo các môi trường của chương trình trong Dockerfile.
Khai báo các service cần thiết cho chương trình trong file docker-compose.yml để các service có thể chạy cùng với nhau trong một môi trường.
Chạy câu lệnh docker-compose up để start Compose và chạy chương trình.
Compose có những câu lệnh cho phép quản lí lifecycle của chương trình:
Start, Stop và Build lại service.
Xem status của các service đang chạy.
Xem log output của service đang chạy.
Chạy câu lệnh một lần (one-off command) trong một service.
Tạo ra nhiều môi trường độc lập (isolated environments) trong một host: Compose cô lập môi trường của các project để đảm bảo chúng không bị xung đột lẫn nhau, cũng như dễ dàng tạo những bản sao của một môi trường nào đó.
Chỉ tạo lại các container đã thay đổi: Compose sẽ nhận biết được các service chưa thay đổi và sử dụng lại các container tương ứng với service đó.
Điều chỉnh các biến sử dụng cho các môi trường: Compose sử dụng các biến trong Compose file cho các môi trường. Vì vậy với môi trường hay người dùng khác nhau, có thể điều chỉnh các biến khi sử dụng Compose để thiết lập các service.
git clone https://github.com/AWS-First-Cloud-Journey/AWS-FCJ-Management.git
ls
touch .env
vi .env
Sau đó thực hiện cấu hình và lưu lại bằng lệnh !wq
cat .env
cat docker-compose.yaml
sudo amazon-linux-extras install docker
sudo service docker start
sudo usermod -a -G docker ec2-user
sudo chkconfig docker on
Sau đó cài docker-compose bản mới nhất
sudo curl -L https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
Chúng ta sẽ cấp quyền cho docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Kiểm tra cài đặt thành công
docker-compose version
docker-compose up --build
aws ecs describe-task-definition --task-definition aws-fcj-task-def