Mục đích của docker có phải chỉ duy nhất là đóng gói đỡ khỏi cài đặt để deploy lên các môi trường dev, prod, staging k ạ. Có phải Java là ngôn ngữ khi build image nặng hơn các ngôn ngữ lập trình khác như Python hay Go không ạ
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
– Theo mình thì mục đích chính của docker đúng là để hỗ trợ việc đóng gói và phân phối các service dễ dàng hơn. Ví dụ khi bạn muốn chạy 1 service được code bằng Go, thì thay vì phải pull code về, cài đặt Go compiler để có thể build, rồi run, thì bạn chỉ cần pull docker image về là có thể chạy.
– Java đúng là build ra image nặng hơn, chủ yếu là do image phải có thêm JRE (tương tự Python cũng phải cài python trong image mới chạy được). Go nhẹ hơn là do được build ra native binary file có thể chạy trực tiếp không cần thông qua 1 lớp trung gian nữa, do đó có thể chạy trên các image rất nhẹ như alpine (chỉ khoảng 5MB)
Gần đây mình không code java, nhưng nghe nói là đã có thể build ra native file chạy trực tiếp không cần JRE nữa. Cái này mình mới chỉ đọc trên blog chứ chưa thử trên thực tế, không biết thế nào.
anh có thể cho em bài viết cụ thể về vấn đề java build native k cần JRE k ạ. Ngoài ra có thể cho em facebook anh để em hỏi thêm được k