Avatar
0
Nguyễn Thái Sơn Professional
Nguyễn Thái Sơn Professional
Docker purpose
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 ạ
  • Answer
Remain: 5
2 Answers
Avatar
ducnt114 Professional
ducnt114 Professional
  • 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)
  • 1
  • Reply
Avatar
ducnt114 Professional
ducnt114 Professional
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.
  • 0
  • Reply
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  –  Nguyễn Thái Sơn 1644620900000