Hướng dẫn cài đặt và sử dụng Docker Compose


Để thay vì chúng ta build, start từng container một với Docker, bây giờ chúng ta có thể sử dụng trình soạn thảo Docker Compose. Nó giúp đơn giản hóa và đẩy nhanh quá trình xây dựng ứng dụng sử dụng Docker. Trong bài viết này vinasupport.com sẽ khái quát cơ bản nhất về Docker Compose.

Docker compose là gì?

Docker Compose là một công cụ được sử dụng để định nghĩa và chạy nhiều ứng dụng Docker Container tại cùng 1 thời điểm. Bạn sử dụng tệp cấu hình YAML để định nghĩa các dịch vụ của ứng dụng. Và với chỉ 1 lệnh duy nhất, các bạn sẽ tạo và khởi động tất cả các dịch vụ từ file cấu hình của mình.

Cài đặt Docker Compose

Mặc định nó không được cài sẵn trong các hệ điều hành và chúng ta phải tiến hành cài đặt nó.

Trên Ubuntu / Debian

sudo apt -y install docker-compose

Hoặc cài đặt từ Github

curl -SL https://github.com/docker/compose/releases/download/v1.29.2/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose

Xác nhận docker-compose version:

[admin@vinasupport.com ~]:~$ docker-compose --version
docker-compose version 1.29.2, build unknown

Hướng dẫn sử dụng docker compose

Chúng ta cần tạo file docker-compose.yml để chứa các dịch vụ cho ứng dụng của chúng ta.

Khởi tạo dịch vụ với Docker Compose

Đây là 1 ví dụ về tạo 1 dịch vụ có tên là vinasupport sử dụng image “hello-world”. Sửa file docker-compose.yml như sau:

vinasupport:
    image: hello-world

Build và start container

Nó sẽ tự động pull image từ repo về nếu chưa có và tự động tạo các container đã được định nghĩa trong file docker-compose.yml

docker-compose up

Trường hợp bạn sửa file thiết kế docker-compose.yml thì sử dụng thêm tham số -d để rebuild lại các container.

docker-compose up -d

Stop và xóa các container 

Sau khi tạo lệnh này nó sẽ stop các container và xóa nó đi.

docker-compose down

Nguồn: vinasupport.com

             
SHARE

Bài viết liên quan

mode_edit Bình luận của bạn

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

account_circle
web