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.
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.
Việc cài đặt Docker rất đơn giản, chúng ta làm như sau:
Windows & Mac: Đối với 2 OS này chúng ta chỉ việc download file setup tại đây Windows, Mac cài đặt là có thể sử dụng.
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.
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 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.
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.
Unpublished comment
Viết câu trả lời