Trong bài viết này, mình sẽ nói về những khái niệm quan trọng của Docker mà bất kỳ ai muốn làm việc với Docker điều cần phải nắm rõ và phân biệt chúng. Những khái niệm này bao gồm:
Table of Contents
Image
Image là một template không thay đổi, định nghĩa các thành phần, các ứng dụng sẽ được cài đặt trong một container của Docker. Ví dụ như bạn đang muốn tạo một container chứa Java, Git thì chúng ta cần định nghĩa các thành phần đó trong một Image.
Image được sử dụng để tạo ra các Container.
Image được tạo ra bởi chúng ta hoặc những Docker user khác bằng cách sử dụng Docker build command.
Image được lưu trữ trong Registry của Docker.
Để kiểm tra tất cả các Image đang có trong Docker trong máy của mình, các bạn có thể sử dụng câu lệnh sau:
1 |
docker images |
Container
Để hình dung về Container thì các bạn hãy tưởng tượng như sau: Image trong Docker giống như class trong Java và Container là instance của những class Java đó.
Nếu các bạn đã từng cài đặt một hệ điều hành nào đó trên máy ảo sử dụng VirtualBox hoặc VMWare thì hệ điều hành này tương tự như container trong Docker.
Container được tạo ra từ các Images. Bên trong những Container này, chúng ta sẽ có đủ các ứng dụng cần thiết mà chúng ta đã định nghĩa trong Image.
Để kiểm tra tất cả các Container đang có trong Docker, các bạn sử dụng câu lệnh sau:
1 |
docker ps -a |
Registry
Registry là nơi Docker sẽ lưu trữ những Image của chúng ta.
Chúng ta có thể tạo một Local Docker Registry cho chính chúng ta, hoặc sử dụng một Docker Public Registry như Docker Hub.
Bên trong một Registry, các Image được lưu trữ trong Repository.
Repository
Docker Repository là một tập hợp các Images khác nhau có cùng tên. Mỗi Image trong một Repository sẽ khác nhau ở tên của phiên bản.
Docker Hub
Docker Hub là một Public Docker Registry, chứa rất nhiều Image mà các bạn có thể sử dụng chúng.
URL của Docker Hub là: https://hub.docker.com/
Trong trang này, các bạn thể tìm một Image bất kỳ sử dụng ô Search.