Để phục vụ sự phát triển mạnh mẽ của xã hội, rất nhiều các ứng dụng thông minh, hiện đại, tiên tiến được ra đời. Docker nói chung và Docker Compose nói riêng là những công nghệ rất được người dùng đánh giá cao và một trong những ứng dụng được chú trọng nhiều. Tuy nhiên về cụm từ này vẫn còn rất mới mẻ với nhiều người. Để hiểu rõ về chúng mời các bạn đến với nội dung dưới đây nhé. Hôm nay, mình sẽ chia sẻ cụ thể và chi tiết những điều cần biết xoay quanh Docker Compose.
Docker Compose là gì?
Docker Compose là công cụ dùng hỗ trợ và run multi – container cho Docker application. Với compose bạn chỉ cần dùng file YAML để config các services cho application của bạn. Tiếp đến sử dụng command để create và run từ những config đó. Quá trình thực hiện cũng khá dễ chỉ với ba bước cơ bản sau:
- Khai app’s environment ở Dockerfile.
- Khai các services cần dùng để chạy application trong file docker – compose.yml.
- Run docker – compose up để bắt đầu và run app.
Vai trò Docker Compose
Docker compose giúp tạo ra nhiều môi trường độc lập (isolated environments) trong một host: Compose giúp cô lập môi trường hoạt động của các project luôn đảm bảo chúng không bị xung đột với nhau, cũng như tạo những bản sao của một môi trường nào đó một cách nhanh chóng và đơn giản nhất.
Chỉ tạo lại các container khi chúng đã thay đổi: Compose giúp nhận biết các service chưa thay đổi và sử dụng lại các container tương ứng với các service đó.
Hỗ trợ điều chỉnh các biến sử dụng cho các môi trường: Compose 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ể dễ dàng điều chỉnh các biến khi dùng Compose để thiết lập các service.
Cách sử dụng Docker Compose
Cách 1 là sử dụng công nghệ ảo hóa (Virtualization)
Thay vì dùng cùng một OS, ảo hóa có nhiệm vụ chia tài nguyên vật lý hệ thống ra thành các phần rồi chạy hệ điều hành trên các phần đã được chia đó. Các chương trình được chạy trên các hệ điều hành ảo chia tài nguyên đó (được gọi là Guest OS). Tuy nhiên OS lúc này chạy hệ thống ảo hóa (gọi là Host OS) chỉ chạy chương trình quản lý các máy ảo (hay hypervisor).
Một số ứng dụng hỗ trợ ảo hóa hay gặp là VirtualBox, Vmware hay Hyper – V.
Cách 2 là sử dụng công nghệ containerization
Cách này, chương trình chạy trên các container và dùng chung một OS. Container gồm các dụng cụ để tạo ra một môi trường cho phép ứng dụng được chạy trên nó. Vì thế, container có một số ưu điểm nổi bật như: đa dạng, nhẹ, portable, dễ dàng nâng cấp,thay thế, và có khả năng mở rộng.
Có thể thấy, Docker được tạo ra để hỗ trợ và quản lí các gói ứng dụng container cho công nghệ containerization ở trên.
Docker được ra đời vào năm 2013 và đến nay công nghệ này nhận được sự hợp tác và hỗ trợ từ nhiều tập đoàn như Redhat, Microsoft, IBM,…
Một cách để chạy Docker Container là dùng file gọi là Dockerfile. File này sẽ gồm các bước để build ra một Container. Việc build này phải được tiến hành trên một máy tính có cài đặt Docker Engine.
Không những thế, còn một số gói thành phần được build từ trước được gọi là Docker Image. Một Image gồm hệ điều hành và các môi trường cho chương trình đã được chuẩn bị sẵn. Người dùng có thể tải các Image từ Docker hub hoặc các image chia sẻ trên mạng. Bên cạnh đó còn có thể tạo mới một Container bằng cách chạy một Image.
Một số trường hợp hay gặp khi sử dụng Compose
Dưới đây là hai trường hợp sử dụng Compose trong việc phát triển chương trình:
Môi trường phát triển
Khi xây dựng một chương trình, việc chạy một chương trình trong môi trường cô lập và tương tác là cực kỳ cần thiết. Compose cho phép thiết lập và chạy tất cả các service cần cho chương trình đó. Chỉ với một lệnh docker – compose up, các service sẽ được chạy với các container tương ứng.
Môi trường cho automated test
Với môi trường automated test, việc tạo ra môi trường khi sử dụng các gói test bằng compose trở nên rất dễ dàng. Tạo môi trường với Compose, rồi tiến hành chạy các gói test, cuối cùng là hủy môi trường đó chỉ với ba dòng lệnh.
Trên đây là tất cả thông tin cần thiết giúp người đọc biết thêm kiến thức về Docker compose là gì? Vai trò và cách sử dụng Docker Compose. Hy vọng bài viết trên sẽ giúp ích được cho các bạn những thông tin mà bạn đang tìm kiếm, để bổ trợ cho bạn có kiến thức sống rộng lớn hơn.