Docker là gì?

Docker là một công cụ mã nguồn mở giúp tự động triển khai nhanh các ứng dụng Linux bên trong môi trường ảo được gọi là Container, nó không làm ảnh hưởng tới mội trường hiện tại của máy.

Để tạo nhanh các môi trường này người ta sẽ tạo sẵn các Image trong này sẽ định nghĩa sẵn các ứng dụng Linux mà tuỳ thuộc vào mục đích sử dụng của mình, sau đó có thể chia sẻ các Image mới cộng đồng hoặc có thể dùng để sử dụng cho các lần sau mà không phải tốn thời gian cài đặt.

Lợi ích của Docker

docker-la-gi-docker-la-gi-1

Một ví dụ đơn giản là chúng ta sử dụng image của ubuntu 12.04 (có sẵn trên Docker Hub). Cài vào image đó ruby on rails, đóng gói và chúng ta đã có 1 bản ubuntu chứa ruby on rails mà có thể lấy và sử dụng ở bất cứ đâu.

Hoặc một ví dụ trong Ruby on rail, việc deploy app sẽ trở nên dễ dàng hơn. Không còn những câu lệnh để deploy mà thay vào đó chỉ cần upload image của app lên server rồi sau đó chạy image là xong.

Ngoài ra còn có Docker Hub cho phép quản lý các image với những câu lệnh giống như Github như push, pull... để bạn có thể quản lý dễ dàng image của mình. Docker Hub có số lượng image cực kì đa dạng từ các OS như Ubuntu, CentOS... đến các phiên bản Ruby, các phiên bản Rails... để bạn có thể tùy chỉnh các phiên bản này.

Cài đặt Docker

Việc cài đặt Docker rất đơn giản, chúng ta làm như sau:

Sau khi cài đặt xong thì chúng ta có thể mở Terminal lên gõ: docker -v Nếu ta thấy hiển thị Docker version thì ta đã cài đặt thành công.

Các thành phần chính và Một số khái niệm của Docker

1. Các thành phần chính

  • Docker Engine : là thành phần chính của Docker, như một công cụ để đóng gói ứng dụng.

  • Docker Hub : là dịch vụ cloud để chia sẻ ứng dụng và tự động hóa chuỗi các công việc liên tục, có thể thao tác pull/push với các images

2. Một số khái niệm của Docker

  • Docker images : là một “read-only template”. Chẳng hạn, một image chứa hệ điều hành Ubuntu đã cài đặt sẵn Apache và ứng dụng web.

  • Docker registries : Là kho chứa images. Người dùng có thể tạo ra các images của mình và tải lên đây hoặc tải về các images được chia sẻ.

  • Docker container : hoạt động giống như một thư mục (directory), chứa tất cả những thứ cần thiết để một ứng dụng có thể chạy được. Mỗi một docker container được tạo ra từ một docker image. Các thao tác với một container : chạy, bật, dừng, di chuyển, và xóa.

  • Dockerfile : là một file chứa tập hợp các lệnh để Docker có thể đọc và thực hiện để đóng gói một image theo yêu cầu người dùng.

  • Orchestration : là các công cụ, dịch vụ dùng để điều phối và quản lý nhiều containers sao cho chúng làm việc hiệu quả nhất.

Kết

Cộng đồng Docker hiện nay đang phát triển rất mạnh. Hãy thử dùng và trải nghiệm docker và bạn sẽ cảm thấy sự tuyệt vời của nó. Sự thật là Docker đang dần thay đổi nhiều cách làm việc của lập trình viên và đặc biệt là admin.

Viết câu trả lời

Drop Images