Tại sao lại đẻ ra thằng Docker ?

Đơn giản Docker dùng để build môi trường chạy code. Môi trường ở đây bao gồm: Hệ điều hành: CentOS, Ubuntu Web Server: Nginx, Apache Database: MySQL, PostgreSQL Trình biên dịch: PHP-FPM để chạy file .php Source code Ơ thế thì không dùng Docker tôi vẫn build bình thường mà Đúng thế, vẫn có thể

Đơn giản Docker dùng để build môi trường chạy code.
Môi trường ở đây bao gồm:

  • Hệ điều hành: CentOS, Ubuntu
  • Web Server: Nginx, Apache
  • Database: MySQL, PostgreSQL
  • Trình biên dịch: PHP-FPM để chạy file .php
  • Source code

Ơ thế thì không dùng Docker tôi vẫn build bình thường mà 😂

Đúng thế, vẫn có thể build môi trường chạy code mà không cần đến Docker nhưng nếu để ý, việc build môi trường như vậy sẽ gặp những bất cập sau:

  1. Mỗi lần có 1 người mới join team, sẽ lại phải build môi trường từ đầu dẫn đến mất thời gian.
  2. trong quá trình phát triển phần mềm, dự án thường sẽ tạo ra các môi trường để test:
  • Local (DEV test)
  • Develop (QA test)
  • Staging (QA test + Khách hàng test)
  • Product (Người dùng sử dụng)

    Việc tạo ra nhiều môi trường test như vậy nhằm mục đích tạo ra được môi trường tiệm cận giống với môi trường Product nhất có thể, và giảm được các lỗi khi chạy code trên Product.

Note:
Nếu để ý, với các dự án chưa áp dụng Docker vào triển khai thì ở môi trường Local (máy tính của DEV) sẽ có người dùng hệ điều hành Window, có người lại dùng Ubuntu. rồi khi lên môi trường Develop và Staging sẽ dùng hệ điều hành Ubuntu để cài đặt. như vậy sẽ dẫn tới việc sai khác rất nhiều giữa các môi trường, đây sẽ là nguyên nhân dẫn đến các lỗi liên quan đến version, package.

Ví dụ: Thư viện Horizal chỉ có thể cài đặt được trên hệ điều hành nhân Linux, còn trên Window thì không cài được. dẫn đến các lỗi phát sinh trong quá trình viết code.

Lợi ích của việc sử dụng Docker

  1. Chỉ cần viết 1 lần là có thể sử dụng môi trường đó để chạy ở nhiều máy khác nhau giúp tiết kiệm thời gian cài đặt môi trường khi có thành viên mới join vào team.
  2. chỉ cần viết 1 lần và sửa lại 1 vài config là có thể sử dụng môi trường đó làm môi trường Develop, Staging, Product, giúp đồng bộ giữa các môi trường test.

Vậy thì còn chần chừ gì nữa mà không bắt tay vào build môi trường bằng Docker thôi 👏

Nguồn: viblo.asia

Bài viết liên quan

Tấn Công Ứng Dụng Web: Mối Đe Dọa Hàng Đầu – Phần 2

viết lại nội dung này ” Phát hiện các cuộc tấn công Cross Site Scripting (XSS)

AI Chatbot 2025: Xu Hướng Tất Yếu Cho Doanh Nghiệp Dẫn Đầu

Giới thiệu AI chatbots đã trải qua một hành trình đáng kể, từ những công cụ t

Tấn Công Ứng Dụng Web: Mối Đe Dọa Hàng Đầu – Phần 1

Tấn công web là gì? Ứng dụng web là các ứng dụng cung cấp dịch vụ cho người

SEO Mũ Trắng, Mũ Đen, Mũ Xám: Hiểu Biết và Lựa Chọn Phù Hợp

SEO Mũ Trắng, Mũ Đen, Mũ Xám: Hiểu Biết và Lựa Chọn Phù Hợp Trong kỷ nguyên s