Ghi chép lại quá trình tìm hiểu Docker
Docker là phần mềm chạy trên Window và Linux. Nó tạo, quản lý và điều phối các container. Docker là một phần của dự án mã nguồn mở Moby trên Github. Docker, Inc. là một công ty duy trì tổng thể cho dự án mã nguồn mở này.
Docker, Inc. là công ty khởi nghiệp có trụ sở ở San Francisco được thành lập bởi nhà phát triển và doanh nhân người Mỹ gốc Pháp Solomon Hykes. Docker, Inc. ban đầu là nhà cung cấp dịch vụ cloud platform as a service (PaaS), được gọi là dotCloud. Nền tảng dotCloud tận dụng Linux container. Docker được tạo ra như một công cụ nội bộ giúp họ tạo và quản lý container của họ. Năm 2013, dotCloud khủng hoảng. Do đó họ tuyển Ben Golub làm CEO mới, đặt lại tên công ty là Docker, thoát khỏi nền tảng dotCloud Paas, và bắt đầu nhiệm vụ mang Docker và Container ra thế giới. Hầu như tất cả các quỹ đầu tư đều tăng sau khi công ty đổi tên và đổi hướng đi tập trung vào Docker. Docker có một hội nghị thưởng niên là Dockercon, với mục đích cùng nhau phát triển hệ sinh thái container và thúc đẩy sử dụng công nghệ Docker và container. *NOTE: * Từ “Docker” có nghĩa là **dock work-er **: là người tải và bốc dỡ hàng hóa từ tàu.
Docker thường được nhắc đến là để chỉ Docker Engine.
Docker Engine là container runtime core dùng để chạy container. Các ứng dụng khác của Công ty Docker hoặc các công ty bên thứ 3 đều phát triển các sản phẩm phát triển thêm vào Docker Engine hoặc phát triển sung quanh Docker Engine. Docker Engine có thể tải trên trang chủ của Docker hoặc có thể built từ source trên Github. Tại thời điểm viết bài có 2 phiên bản docker engine chính:
Thuật ngữ Docker cũng để chỉ dự án mã nguồn mở Docker. Đây là một bộ công cụ mà hợp thành những thứ như Docker deamon or client mà bạn tải trên docker.com. Dự án này sau đó được đổi tên thành Moby và có cả logo riêng. Mục tiêu của Moby là trở thành thượng nguồn của Docker, và cũng là để chia Docker thành các module nhỏ hơn và làm nó dưới dạng mở. Moby được đặt trên Github, repository của nó đặt ở https://github.com/moby Vì là một dự án mã nguồn mở, mã nguồn của nó được công khai. Bạn có thể tải về, đóng góp và chỉ sửa tuân theo Apache License 2.0
Bạn hoàn toàn có thể thay thế rất nhiều module đi kèm với docker bằng các module của bên thứ 3. Ở những ngày đầu, các module của các bên thứ 3 có khi còn tốt hơn nhiều so với module gốc của Docker. Điều này đem đến một số bất lợi kinh doanh cho công ty Docker, do đó, Docker biến các công ty phát triển mạnh tại một thời điểm nào đó thành đối tác lâu dài. Kết quả là các module ngày càng được phát triển tốt hơn. Cuối cùng thì các module vẫn có thể thay thế nhưng chúng ngày càng ít cần phải thay thế. Mặc dù vậy thì hệ sinh thái của container vẫn đang phát triển mạnh mẽ với sự hợp tác và cạnh tranh lành mạnh.
OCI là công cụ để chuẩn hóa định dạng của runtime và image: