Docker là một công cụ giúp cho việc tạo ra và triển khai các container
để phát triển, chạy ứng dụng được dễ dàng. Các container
là môi trường, mà ở đó lập trình viên đưa vào các thành phần cần thiết để ứng dụng của họ chạy được, bằng cách đóng gói ứng dụng cùng với container
như vậy, nó đảm bảo ứng dụng chạy được và giống nhau ở các máy khác nhau (Linux, Windows, Desktop, Server …)
Docker có vẻ rất giống máy ảo (nhiều người từng tạo máy ảo với công cụ ảo hóa như Virtual Box, VMWare), nhưng có điểm khác với VM: thay vì tạo ra toàn bộ hệ thống (dù ảo hóa), Docker lại cho phép ứng dụng sử dụng nhân của hệ điều hành đang chạy Docker để chạy ứng dụng bằng cách bổ sung thêm các thành phần còn thiếu cung cấp bởi container
. Cách này làm tăng hiệu xuất và giảm kích thước ứng dụng.
Tìm hiểu về Docker
Docker là gì?
Vấn đề đầu tiên mà bạn cần tìm hiểu docker là gì? Docker chính là một nền tảng được sử dụng để cung cấp cho bạn cách building, deploying và cả running ứng dụng một cách dễ dàng hơn. Docker sẽ hoạt động thông qua cách sử dụng những containers ở trên nền tảng ảo hóa. Lúc đầu, chúng sẽ được viết bằng Python và hiện tại thì đã chuyển sang Golang.
Docker container là gì?
Khi tìm hiểu Docker Container, bạn cần biết rằng, những containers sẽ cho phép các lập trình viên đóng gói một ứng dụng. Trong đó bao gồm những phần cần thiết, ví dụ như thư viện cùng với các phụ thuộc khác. Chúng cũng gói tất cả ra ở dưới dạng là một package. Thông qua đó, nhờ vào containers thì ứng dụng sẽ chạy ở trên tất cả máy tính Linux khác. Dù cho mọi cài đặt tùy chỉnh khác nhau mà máy có thể khác đối với những chiếc máy được sử dụng để viết code.
Xem thêm: Hướng dẫn cài đặt SSL trên hosting Plesk.
Bằng một cách nào đó, Docker khá là giống với virtual machine. Vậy tại sao Docker lại phát triển hơn và phổ biến hơn. Nguyên nhân chính là vì những ưu điểm sau đây:
- Dễ ứng dụng: Bất cứ ai cũng có thể sử dụng từ lập trình viên cho đến sysadmin,… chúng tận dụng tất cả lợi thế của containers để build và test một cách nhanh chóng. Chúng có thể đóng gói ứng dụng ở trên laptop và chạy ở trên public cloud và cả private cloud,… Một câu thần chú ở đây là “Build once, run anywhere”
- Tốc độ: Docker Containers tương đối nhẹ và có tốc độ rất nhanh. Bạn hoàn toàn có thể tạo và khởi chạy chỉ trong vài giây ngắn ngủi.
- Môi trường chạy và khả năng mở rộng: Bạn có thể chia nhỏ những chức năng của ứng dụng thành các container riêng lẻ. Ví dụ: Database chạy trên một container và Redis cache có thể chạy trên một container khác trong khi ứng dụng Node.js lại chạy trên một cái khác nữa. Với Docker, rất dễ để liên kết các container với nhau để tạo thành một ứng dụng, làm cho nó dễ dàng scale, update các thành phần độc lập với nhau.
Cách cài đặt Docker trên Ubuntu
Bước 1: Cập nhật apt
Đầu tiên, bạn cần phải update và upgrade apt hệ thống của mình trước đã.
$ sudo apt update
$ sudo apt upgrade
Bước 2: Download và cài đặt docker
Dòng lệnh bên dưới được sử dụng để download và cài đặt docker package.
$ sudo apt install docker.io
Bước 3: Khởi chạy docker
Dòng lệnh bên dưới sẽ kích hoạt docker tự động khởi chạy khi hệ thống được reboot.
$ sudo systemctl enable --now docker
Để disable tự động khởi chạy docker, bạn có thể sử dụng câu lệnh sau
$ sudo systemctl disable --now docker
Bước 4: Thiết lập đặc quyền
Bước này sẽ được thực hiện để thiết lập đặc quyền truy cập docker cho bất kỳ user nào. Bạn có thể thay thế “xxx” bằng username bạn đang sử dụng.
$ sudo usermod -aG docker vsudo && newgrp docker
Như lệnh bên trên, mình thiết lập đặc quyền chạy docker cho user “vsudo”
Bước 5: Kiểm tra phiên bản docker đang sử dụng
Để kiểm tra phiên bản docker hiện tại, bạn có thể sử dụng câu lệnh sau
$ docker --version
Bước 6: Test thử docker
Để test docker có chạy hay không bằng cách chạy câu lệnh sau – ở đây nó sẽ pull về và chạy container hello-world
$ docker run hello-world
Lê Trương Tấn Lộc (Website: sieutocviet.page)
Với hơn 3 năm kinh nghiệm Python / PHP / CSS / JS / WORDPRESS, 5 năm kinh nghiệm trong quản trị website tư vấn giải pháp SEO từ khóa, Marketing tối ưu nhất cho doanh nghiệp. Chuyên viên tư vấn sản phẩm: Hosting, Email doanh nghiệp, VPS, App web design.
Hiện đang là trưởng phòng kinh doanh tại Siêu Tốc Việt.