sách gpt4 ăn đã đi

docker - Các phần phụ thuộc phát triển trong Dockerfile hoặc các Dockerfile riêng biệt để sản xuất và thử nghiệm

In lại Tác giả: IT Lão Cao Thời gian cập nhật: 28-10-2023 12:48:00 28 4
mua khóa gpt4 giày nike

Tôi không chắc liệu mình có nên tạo một cái khác cho ứng dụng Node.js của mình không Tệp Docker tài liệu. Một dành cho sản xuất không có phần phụ thuộc phát triển và một dành cho thử nghiệm có phần phụ thuộc phát triển.

Hoặc một cái về cơ bản phát triểnDockerfile.devtài liệu. Vì vậy, sự khác biệt chính giữa hai tệp này là lệnh npm install:

Sản xuất:

TỪ ...
...
CHẠY npm install --quiet --production
...
Lệnh ...

Phát triển/Thử nghiệm:

TỪ ...
...
CHẠY cài đặt npm
...
Lệnh ...

Vấn đề phát sinh vì tôi muốn có thể vượt qua chạy docker lệnh chạy thử nghiệm của tôi bên trong vùng chứa. Vì vậy tôi cần các phụ thuộc kiểm tra (thường là các phụ thuộc phát triển của tôi).

Có vẻ hơi lạ khi đặt những phần phụ thuộc không cần thiết trong quá trình sản xuất vào một hình ảnh. Mặt khác, việc tạo/duy trì Dockerfile.dev thứ hai chỉ với những khác biệt nhỏ có vẻ cũng không đúng. Vì vậy, các thực hành tốt cho loại vấn đề này là gì?

câu trả lời hay nhất

Không, bạn không cần phải có sự khác biệt Tệp Docker, điều mà bạn thực sự nên tránh.

Mục tiêu của Docker là xuất bản ứng dụng của bạn dưới dạng bất biến, được kiểm tra kỹ lưỡng (hình ảnh Docker), giống nhau cho quá trình sản xuất, thử nghiệm và thậm chí là phát triển.

Tại sao? Bởi vì nếu bạn xây dựng các sản phẩm khác nhau để thử nghiệm và sản xuất, làm thế nào bạn có thể đảm bảo rằng thứ bạn đã thử nghiệm cũng sẽ hoạt động trong sản xuất? Bạn không thể, vì chúng là hai thứ khác nhau.

Xem xét tất cả những điều này, nếu thử nghiệm đề cập đến đơn vị test, bạn có thể cài đặt mã nguồn trong vùng chứa docker và chạy thử nghiệm mà không cần xây dựng bất kỳ hình ảnh docker nào. Điều này tốt. Hãy nhớ rằng bạn có thể xây dựng hình ảnh để thử nghiệm, nhưng điều này rất chậm và khiến việc phát triển trở nên khó khăn và chậm chạp, điều này không tốt chút nào. Sau đó, nếu thử nghiệm của bạn vượt qua, bạn có thể xây dựng vùng chứa ứng dụng của mình một cách an toàn.

Tuy nhiên, nếu ý bạn là các thử nghiệm chấp nhận thực sự cần chạy trên ứng dụng đang chạy của bạn thì bạn nên tạo một hình ảnh (chỉ một) ứng dụng của mình và chạy thử nghiệm trong một vùng chứa khác (ví dụ: gắn mã nguồn thử nghiệm) và chạy một kiểm tra vùng chứa đối với ứng dụng. Điều này rõ ràng có nghĩa là ứng dụng của bạn được xây dựng cho npm Việc cài đặt cho thử nghiệm của bạn là khác nhau.

Tôi hy vọng điều này cung cấp cho bạn một số cái nhìn sâu sắc.

Về docker - các phần phụ thuộc phát triển trong Dockerfile hoặc các Dockerfile riêng biệt để sản xuất và thử nghiệm, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/34396759/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress