Skip to main content
LibreChat is joining ClickHouse to power the open-source Agentic Data Stack 🎉 Learn more
LibreChat

Ghi đè Docker

Sử dụng tệp docker-compose.override.yml để tùy chỉnh thiết lập Docker của LibreChat mà không cần chỉnh sửa tệp docker-compose.yml chính.

Tệp ghi đè Docker Compose cho phép bạn thay đổi cấu hình mặc định trong docker-compose.yml mà không cần chỉnh sửa hoặc sao chép tệp đó. Các tệp ghi đè chủ yếu dành cho việc tùy chỉnh cục bộ. Khi bạn chạy docker compose up, Compose sẽ tự động hợp nhất docker-compose.yml với docker-compose.override.yml.

Các ví dụ khác

Xem docker-compose.override.yml.example trong kho lưu trữ để có bộ các đoạn mã ghi đè đầy đủ hơn mà bạn có thể sao chép.

Cấu hình Override

Tạo tệp ghi đè (override file). Nếu bạn chưa có tệp này, hãy sao chép từ tệp ví dụ. Docker Compose sẽ tự động nhận diện tệp khi bạn chạy các lệnh docker compose.

cp docker-compose.override.yml.example docker-compose.override.yml

Chỉnh sửa tệp ghi đè (override file). Mở docker-compose.override.yml trong trình soạn thảo của bạn, sau đó bỏ ghi chú và tùy chỉnh các phần bạn cần.

Mỗi mục cho một dịch vụ

Mỗi tên dịch vụ (api, mongodb, meilisearch, ...) chỉ có thể xuất hiện một lần. Để ghi đè nhiều cài đặt trên cùng một dịch vụ, hãy kết hợp chúng trong một mục nhập đó.

Áp dụng các thay đổi. Chạy Docker Compose như bình thường. Nó sẽ tự động hợp nhất docker-compose.ymldocker-compose.override.yml cho bạn.

docker compose up -d

Xác minh các thay đổi. Liệt kê các container đang chạy và các thuộc tính của chúng, chẳng hạn như cổng, để xác nhận rằng các ghi đè của bạn đã có hiệu lực.

docker ps

Các ví dụ

Để mount tệp cấu hình librechat.yaml của bạn để Docker có thể sử dụng nó cho Custom Endpoints & Configuration:

services:
  api:
    volumes:
      - ./librechat.yaml:/app/librechat.yaml

Để xây dựng image api cục bộ, mount tệp cấu hình và sử dụng phiên bản MongoDB cũ hơn không yêu cầu hỗ trợ AVX:

services:
  api:
    volumes:
      - ./librechat.yaml:/app/librechat.yaml
    image: librechat
    build:
      context: .
      target: node

  mongodb:
    image: mongo:4.4.18

Theo dõi các cổng được mở

Việc mở các cổng MongoDB hoặc Meilisearch ra công khai có thể khiến dữ liệu của bạn gặp rủi ro. Hãy tránh sử dụng các cổng mặc định cho môi trường sản xuất hoặc môi trường nhạy cảm.

Sử dụng deploy-compose.yml

Với một tệp Compose không mặc định như deploy-compose.yml, phần ghi đè sẽ không được tải tự động. Hãy truyền cả hai tệp một cách rõ ràng bằng -f (hoặc --file); các cài đặt trong các tệp sau sẽ ghi đè hoặc bổ sung vào các tệp trước đó.

Tệp ghi đè có thể có bất kỳ tên nào, mặc dù bạn có thể đã có sẵn docker-compose.override.yml. Chạy các lệnh như sau:

docker compose -f deploy-compose.yml -f docker-compose.override.yml pull
docker compose -f deploy-compose.yml -f docker-compose.override.yml up

Tham chiếu

  • Thứ tự ưu tiên: các giá trị trong tệp ghi đè (override file) sẽ được ưu tiên hơn các giá trị tương ứng trong docker-compose.yml.
  • Bảo mật: khi tùy chỉnh các cổng và công khai dịch vụ, hãy lưu ý đến các tác động về bảo mật và tránh sử dụng các thiết lập mặc định cho môi trường production.

Để biết thêm chi tiết, hãy xem tài liệu chính thức của Docker:

Hướng dẫn này thế nào?