Docker cơ bản – Docker compose.

Chúng tôi rất vui mừng chia sẻ kiến thức sâu sắc về từ khóa Docker compose la gi và hi vọng rằng nó sẽ hữu ích cho các bạn đọc. Bài viết tập trung trình bày ý nghĩa, vai trò và ứng dụng của từ khóa trong việc tối ưu hóa nội dung trang web và chiến dịch tiếp thị trực tuyến. Chúng tôi cung cấp các phương pháp tìm kiếm, phân tích và chọn lọc từ khóa phù hợp, kèm theo các chiến lược và công cụ hữu ích. Hi vọng rằng thông tin chúng tôi chia sẻ sẽ giúp bạn xây dựng chiến lược thành công và thu hút lưu lượng người dùng. Cảm ơn sự quan tâm và hãy tiếp tục theo dõi blog của chúng tôi để cập nhật kiến thức mới nhất.

Có thể bạn quan tâm

Hello mọi người, với những phần trước tôi đã đi qua những khái niệm cơ bản nhất ở Docker. Hôm nay với một khái niệm khác của docker. Tất cả chúng ta cùng đi vào Docker compose nhé.

Bạn Đang Xem: Docker cơ bản – Docker compose.

Docker compose là một dụng cụ giúp khái niệm và chạy multi-container trong những ứng dụng sử dụng Docker. Với Compose, tất cả chúng ta có thể config các services để phục vụ cho ứng dụng. Và tiện hơn khi chỉ với một câu lệnh, tất cả chúng ta có thể tạo và start tất cả những Docker containers services mà tất cả chúng ta sử dụng. 😄

Compose có thể hoạt động được trên tất cả những môi trương như: production, staging, development, testing hay theo workflows của CI. Để sử dụng compose vào project tất cả chúng ta cần có 3 bước :

  • Khái niệm môi trường xung quanh chạy ứng dụng vời Dockerfile để nó có thể sao chép ở bất kỳ đâu.
  • Khái niệm các service tạo nên ứng dụng ví dụ như php, mysql, nginx hay node ở trong file docker-compose.yml (đây đó chính là file chính giúp Docker biết được những services cần chạy hay volume, network và chạy các services đó lên cùng một lúc, chúng tách biệt với môi trường xung quanh phía ngoài) – tất cả chúng ta sẽ biết được chi tiết cụ thể trong file ngay ở chỗ này.
  • Cuối cùng tất cả chúng ta sẽ chạy câu lệnh docker-compose up để chạy các services cũng như ứng dụng.

Để sử dụng được Docker tất cả chúng ta cần phải tùy chỉnh cấu hình Docker Engine trước. Các chúng ta có thể tùy chỉnh cấu hình theo phía dẫn ở đây : https://docs.docker.com/engine/install/#server

Sau khoản thời gian đã có Docker Engine trên máy tất cả chúng ta sẽ tùy chỉnh cấu hình thêm Docker Compose để sử dụng được command docker-compose. Tại đây mình sử dụng Linux để tùy chỉnh cấu hình :

1 . Tất cả chúng ta sẽ chạy command tải về bản ổn định nhất của Docker Compose ngày nay : (tháng 6/2021 là bản 1.29.2)

sudo curl -L “https://github.com/docker/compose/releases/tải về/1.29.2/docker-compose-$(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose

  1. Phân quyền thực thi cho file phát động (bin) docker-compose:

sudo chmod +x /usr/local/bin/docker-compose

  1. Kiểm tra lại tùy chỉnh cấu hình:

Xem Thêm : Đơn vị nhận trong chuyển khoản ngân hàng Đông Á Bank là gì?

docker-compose -version

Để gỡ tùy chỉnh cấu hình tất cả chúng ta sử dụng:

sudo rm /usr/local/bin/docker-compose

Vâng đây đó chính là file quan trọng nhất của docker-compose. Nơi mà tất cả chúng ta như một đầu bếp với những các services là vật liệu để tạo nên món ăn được ví như ứng dụng của bạn =))

Chém gió tí thôi, tất cả chúng ta cùng đi đến với file docker-compose.yml. Ở file này về cơ bản nó sẽ trông như vậy này:

version: “3.9” # optional since v1.27.0 services: web: build: . ports: – “5000:5000” volumes: – .:/code – logvolume01:/var/log links: – redis redis: image: redis volumes: logvolume01: {}

Đây là một file mẫu mà mình lấy ở trong tài liệu chính thức của Docker compose . Trong file này tất cả chúng ta sẽ sở hữu những thức thiết yếu mà tất cả chúng ta cần phải khai báo để chạy lên các container gồm có:

  • services: Đây là nơi khai báo tất cả những services được build trực tiếp từ images trên dockerhub hay build từ Dockerfile đã được tạo sẵn.
  • volumes: Volume cung cho tất cả những container được chạy cùng docker compose. Để hiểu hơn về Volume mọi người dân có thể vào nội dung bài viết về Docker Storage của mình : https://viblo.asia/p/docker-co-ban-p2-storage-gAm5yVo8Kdb
  • Ngoài ra còn một vài tùy chọn khác các chúng ta có thể lên trang chủ của docker để đọc.

Đi sâu vào mỗi service tất cả chúng ta có thể khai báo như vị trí Dockerfile để build container, cổng thực thi container, volumes nhỏ (ví dụ ở đây mình khai báo volumes chung trong docker compose này là logvolume01 thì khi ở service web ta thấy có một dòng khai báo logvolume01:var/log tức là bind /var/log của container web vào logvolume01 được lưu trong docker. ngoài ra tất cả chúng ta có thấy dòng

volumes: .:/code

Xem Thêm : Thông tin về Cookies

Dòng này tất cả chúng ta đã bind code ở thư mục cùng cấp với docker-compose.yml vào thư mục /code của container web. mỗi một khi sửa code ở ngoài thì code ở trong container cũng sẽ tiến hành sửa theo.

Ngoài ra tất cả chúng ta có thể build trực tiếp một service mà không cần tới Dockerfile thông qua key: image như trong file docker-compose.yml .

Biến môi trường xung quanh cho docker-compose:

  • Với docker compose tất cả chúng ta cũng sẽ có thể sử dụng biến môi trường xung quanh tiện lợi cho việc thay đổi các thông số trong file yml Ví dụ ở file này mình có cấu hình redis build từ image: redis trên docker hub Tuy nhiền tất cả chúng ta có thể tùy chọn phiên bản redis thông qua :

redis: image: “redis:6.2-alpine”

Để một cách linh động hơn tất cả chúng ta có thể tạo một file .env cùng cấp với docker-compose

TAG=6.2-alpine

và cấu hình lại :

redis: image: “redis:${TAG}”

Như vậy mỗi một khi cần thay đổi phiên bản redis tất cả chúng ta chỉ việc vào file .env để cấu hình và docker compose up lên thôi

Trong nội dung bài viết này tôi đã giới thiệu qua về Docker-compose và cấu trúc cơ bản của một file docker-compose.yml. Còn rất nhiều những tùy chọn trong lúc cấu hình docker-compose.yml. Với những thứ giới thiệu cơ bản trên hy vọng sẽ giúp ích cho mọi người phần nào trong việc phát triển ứng dụng cũng như thao tác dễ dàng hơn giữa các thành viên trong team vì đã có một môi trường xung quanh hoàn hảo thuận tiện khi phát triển ứng dụng. Build once, run everywhere là một câu slogan của docker. Đó cũng đó chính là những gì mà docker mang lại cho tất cả chúng ta. Hứa hội ngộ mọi người với bài sau mình sẽ thực hiện tạo ra một docker-compose chạy ứng dụng Vue.js nhé. Cảm ơn mọi người đã theo dõi nội dung bài viết

You May Also Like

About the Author: v1000