- vừa được xem lúc

Sử dụng docker compose watch để tạo môi trường phát triển

0 0 7

Người đăng: qoobee

Theo Viblo Asia

Docker compose watch là gì?

Trong docker compose, thuộc tính watch cho phép bạn có thể sử dụng docker-compose watch thay vì docker-compose up và tự động đồng bộ hóa mã nguồn cục bộ với mã trong vùng chứa Docker mà không cần sử dụng volumes.

Chúng ta sẽ thử tính năng này với project sau. Các bạn clone project sample tại đây https://github.com/dockersamples/avatars/

git clone https://github.com/dockersamples/avatars.git
cd avatars

File compose.yaml sẽ như sau:

services: api: image: avatars-api build: context: . dockerfile: ./deploy/api.dockerfile ports: - 5734:80 develop: watch: - path: api/requirements.txt action: rebuild - path: api/ target: /app/api/ action: sync web: image: avatars-web build: context: . dockerfile: ./deploy/web.dockerfile ports: - 5735:5173 develop: watch: - path: web/package.json action: rebuild - path: web/yarn.lock action: rebuild - path: web/ target: /app action: sync

Thuộc tính watch chứa danh sách các quy tắc, mỗi quy tắc chứa một đường dẫn mà chúng watch và một action được thực thi khi tệp trong đường dẫn thay đổi. Có 2 action có thể thực hiện:

  • sync - Sao chép các tệp đã thay đổi vào các service container đang chạy.
  • rebuild - Kích hoạt image build và recreate service container đang chay.

Trong file compose.yaml, bất cứ khi nào file trong thư mục web/ được thay đổi, Compose sẽ sao chép tệp đó vào vị trí tương ứng trong /src/web bên trong container. Vì Webpack hỗ trợ Hot Module Reload nên các thay đổi sẽ tự động được phát hiện và áp dụng.

Việc thêm các thư viện mới không thể được thực hiện nhanh chóng, vì vậy bất cứ khi nào package.json được thay đổi, Compose sẽ build image và tạo lại container web.

Chạy các lệnh sau:

docker compose up -d
docker compose watch

Mở dường dẫn http://localhost:5735, ta sẽ thấy mỗi khi thay đổi file source code, các thay đổi tự động được áp dụng vào các container.

Việc sử dụng docker compose watch sẽ giúp tạo môi trường phát triển một cách nhanh chóng và thuận tiện. Nếu gặp khó khăn hãy để lại bình luận cho mình ở bên dưới.

Nguồn tham khảo: https://docs.docker.com/compose/file-watch/

Bình luận

Bài viết tương tự

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 390

- vừa được xem lúc

Phần 1: Giới thiệu về Kubernetes

Kubernetes là gì. Trang chủ: https://kubernetes.io/. Ai cần Kubernetes.

0 0 94

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 1- Lịch sử)

1. Vì sao nên sử dụng. . .

0 0 99

- vừa được xem lúc

Docker - những kiến thức cơ bản phần 1

Giới thiệu. Nếu bạn đang làm ở một công ty công nghệ thông tin, chắc rằng bạn đã được nghe nói về Docker.

0 0 74

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 2 - Dockerfile)

1. Mở đầu.

0 0 62

- vừa được xem lúc

Docker: Chưa biết gì đến biết dùng (Phần 3: Docker-compose)

1. Mở đầu. . .

0 0 116