CodeGym /Các khóa học /Docker SELF /Khởi chạy ứng dụng và dịch vụ

Khởi chạy ứng dụng và dịch vụ

Docker SELF
Mức độ , Bài học
Có sẵn

4.1 Lệnh docker compose up

Lệnh docker compose up là lệnh chính của Docker Compose, giúp bạn chạy các ứng dụng multi-container được định nghĩa trong file compose.yaml. Nó tự động tạo và chạy tất cả các dịch vụ được liệt kê trong cấu hình, thiết lập mạng và gắn kết volumes. Trong bài giảng này, chúng ta sẽ xem kỹ cách sử dụng lệnh docker compose up, các tham số chính và các thực hành tốt nhất.

Chức năng chính của lệnh docker compose up

  1. Tạo và chạy container: lệnh docker compose up tạo và chạy tất cả các container được chỉ định trong phần services của file compose.yaml.
  2. Thiết lập mạng và volumes: Docker Compose tự động tạo các mạng cần thiết và gắn kết các volumes được chỉ định trong cấu hình.
  3. Chạy dịch vụ song song: tất cả các dịch vụ được khởi chạy song song, giúp tăng tốc quá trình chạy các ứng dụng multi-container.
  4. Giám sát log: lệnh xuất log của tất cả các container đang chạy theo thời gian thực, giúp bạn theo dõi trạng thái và phát hiện nhanh các vấn đề.

Cú pháp của lệnh docker compose up


docker compose up [options] [SERVICE...]

Ở đây:

  • [options]: các tham số bổ sung để cấu hình hành vi của lệnh (ví dụ, --detach, --build, --scale).
  • [SERVICE...]: (không bắt buộc) danh sách các dịch vụ cần chạy. Nếu không được chỉ định, tất cả các dịch vụ sẽ được chạy.

4.2 Ví dụ docker compose up

Ví dụ về cách sử dụng lệnh docker compose up:

1. Khởi chạy tất cả các dịch vụ

Khởi chạy tất cả các dịch vụ được định nghĩa trong file compose.yaml:

Terminal

docker compose up

2. Khởi chạy một dịch vụ cụ thể

Khởi chạy một dịch vụ cụ thể, ví dụ web:

Terminal

docker compose up web

3. Chạy ở chế độ nền

Để khởi chạy tất cả các dịch vụ ở chế độ nền, hãy sử dụng tùy chọn -d (detached mode):

Terminal

docker compose up -d

Khi sử dụng tùy chọn này, lệnh sẽ kết thúc ngay sau khi khởi chạy các container và chúng sẽ chạy ở chế độ nền.

4.3 Các tham số của lệnh docker compose up

Các tham số hữu ích của lệnh docker compose up:

1. Tham số --build

Tham số này yêu cầu Docker Compose xây dựng lại các image trước khi khởi chạy các container. Rất hữu ích nếu bạn đã thực hiện thay đổi trong source code hoặc Dockerfile.

Terminal

docker compose up --build

2. Tham số --force-recreate

Tham số --force-recreate yêu cầu Docker Compose tạo lại các container ngay cả khi cấu hình của chúng không thay đổi.

Terminal

docker compose up --force-recreate

3. Tham số --no-recreate

Tham số --no-recreate ngăn không cho tạo lại các container đã tồn tại, ngay cả khi cấu hình của chúng đã thay đổi.

Terminal

docker compose up --no-recreate

4. Tham số --remove-orphans

Tham số này xóa các container không được định nghĩa trong file compose.yaml hiện tại nhưng đã được tạo bởi các lần chạy Docker Compose trước đó.

Terminal

docker compose up --remove-orphans

5. Các tham số -V, --renew-anon-volumes

Các tham số này yêu cầu Docker Compose tạo lại các anonymous volume thay vì sử dụng lại chúng.

Terminal

docker compose up -V

4.4 Ví dụ và khuyến nghị

Các ví dụ sử dụng lệnh docker compose up với các tùy chọn khác nhau:

Ví dụ 1: chạy ứng dụng với việc build lại image

Ví dụ này sẽ build lại các image trước khi chạy container, điều này hữu ích nếu bạn đã thực hiện thay đổi trong mã nguồn hoặc Dockerfile.

Terminal

docker compose up --build

Ví dụ 2: chạy ở chế độ nền và tái tạo container

Ví dụ này sẽ chạy các container ở chế độ nền và tái tạo chúng ngay cả khi cấu hình không thay đổi.

Terminal

docker compose up -d --force-recreate

Ví dụ 3: chạy một dịch vụ cụ thể và xóa container không cần thiết

Ví dụ này sẽ chỉ chạy dịch vụ web và xóa các container không được định nghĩa trong tệp compose.yaml hiện tại.

Terminal

docker compose up web --remove-orphans

Khuyến nghị thực tế

1. Sử dụng tệp .env

Bạn có thể sử dụng tệp .env để định nghĩa các biến môi trường sẽ được sử dụng trong compose.yaml. Điều này giúp quản lý cấu hình và đơn giản hóa quá trình triển khai ở các môi trường khác nhau.

2. Log và giám sát

Khi bạn chạy container bằng lệnh docker compose up, tất cả log sẽ được hiển thị ở console. Điều này giúp bạn theo dõi tình trạng của dịch vụ và nhanh chóng xử lý các vấn đề phát sinh. Để giám sát chi tiết hơn, sử dụng các lệnh docker compose logsdocker compose ps.

3. Tự động hóa build và triển khai

Tích hợp lệnh docker compose up vào các script tự động hóa hoặc pipeline CI/CD giúp tự động hóa quá trình build và triển khai ứng dụng đa container. Ví dụ, bạn có thể cấu hình Jenkins hoặc GitHub Actions để tự động build, deploy và chạy docker compose up mỗi khi mã code được cập nhật.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION