Hi mọi người hôm này mình sẽ chia sẻ tổng quan về Docker.
Các thách thức trước khi có Docker Chúng ta muốn deliver software một cách đáng tin cậy và tự động. Như trên hình ảnh chúng ta có static website, user db, queue, ... run trên single machine cần phải chạy được trên bất kỳ các thiết bị với các môi trường khác nhau (DevelopmentVM, Production Cloud). Vấn đề xảy ra khi các thư viện không tương thích với nhau. Dẫn tới các lập trình viên phải theo dõi phần mềm hoạt động trên thiết bị nào và phụ thuộc các thành phần nào. Đây là một công việc rất phức tạp đối với nhà phát triển. Docker xuất hiện và loại bỏ các vấn đề này. Các thành phần có thể chạy biệt lập trong các container sẽ không bị xung đột với các thành phần khác vì tất cả phụ thuộc đều bị giới hạn trong môi trường vùng chứa này.
Container và virtual machine
Docker system Ta cần dockerfile bao gồm các câu lệnh chỉ dẫn để build và run trên host 1. Để chia sẻ image ta sẽ push lên Docker container image registry. Và ở đây các host khác có thể pull về và run container. Khi thay đổi hay sửa phần mềm ta cần build lại image và đẩy lên registry để update. Các host khác sẽ pull được version update mới nhất.
Một số khái niệm trong Docker. Docker image: thành phần cơ bản của Docker. Đại diện cho một ứng dụng hoàn chỉnh. Docker container: nơi run và executes ứng dụng. Docker engine: tạo mới, chạy docker container trên máy vật lý hoặc máy ảo. Registry Service (Docker hub): lưu trữ image.
Một số câu lệnh Docker
DngPhng Cảm ơn em, bài viết tổng quan, nếu được nhờ em đi sâu vào chi tiết, hướng dẫn mọi người cài đặt môi trường docker cho dự án wordpress, nodejs,...