Để phát triển, chúng tôi sử dụng virtualenv để phát triển riêng biệt khi nói đến phụ thuộc. Từ this question có vẻ như việc triển khai các ứng dụng Python trong một yêu cầu virtualenv.Virtualenv có phục vụ một mục đích (trong sản xuất) khi sử dụng docker không?
Bây giờ, chúng tôi đang bắt đầu sử dụng docker để triển khai. Điều này cung cấp một môi trường cô lập hơn vì vậy tôi đặt câu hỏi về việc sử dụng virtualenv bên trong một container docker. Trong trường hợp của một ứng dụng duy nhất tôi không nghĩ rằng virtualenv có một mục đích như docker đã cung cấp sự cô lập. Trong trường hợp có nhiều ứng dụng được triển khai trên một vùng chứa docker, tôi nghĩ virtualenv có mục đích là các ứng dụng có thể có các phụ thuộc xung đột.
Nên sử dụng virtualenv khi một ứng dụng đơn lẻ được triển khai trong vùng chứa docker?
Docker có chứa nhiều ứng dụng hoặc chỉ một ứng dụng cho mỗi vùng chứa không?
Nếu vậy, virtualenv có nên được sử dụng khi triển khai vùng chứa có nhiều ứng dụng không?
Tôi nghĩ bạn có các câu hỏi phù hợp. Khi có một tập hợp các ứng dụng python để làm việc trên cùng một lúc, bạn sẽ cần virtualenv để tránh duyệt từ container đến container ... I'ld khuyên bạn nên sử dụng virtualenv theo mặc định, mặc dù container chỉ dành riêng để làm việc trên một ứng dụng duy nhất bởi vì ... bạn cũng không bao giờ biết. Và chi phí gây ra bởi virtualenv không cao như vậy :) – Rerito
@Rerito Không có phí sử dụng docker. Nó chỉ đơn giản là một chroot tù trên Linux. – TechJS