Tìm hiểu về Docker qua dự án thực tế

Docker là gì

Theo nguồn wikipedia: “Docker là một dự án mã nguồn mở giúp tự động triển khai các ứng dụng Linux và Windows vào trong các container ảo hóa.”

Theo các trang mạng: “Docker là một open platform cung cấp cho người sử dụng những công cụ và service để người sử dụng có thể đóng gói và chạy chương trình của mình trên các môi trường khác nhau một cách nhanh nhất.”

Lại có định nghĩa rằng: “Docker là một phương thức để đóng gói và sắp xếp phần mềm.”

Chúng ta sẽ thiết lập cho app của mình các môi trường cần thiết với docker. Khi ai đó muốn chạy app đó thì chỉ cần chạy docker mà không cần phải cài môi trường cho app nữa vì docker đã giúp ta rồi. Bạn không cần phải biết về laravel, ruby on rails hay thậm chí là java cũng như các môi trường của nó mà vẫn chạy được app, thật là đơn giản đúng không nào!

Một số khái niệm phải biết khi học sử dụng Docker

  • Docker image: Là một dạng tập hợp các tệp của ứng dụng, được tạo ra bởi Docker engine. Chứa các thành phần cần thiết để chạy app. Nội dung của các Docker image sẽ không bị thay đổi khi di chuyển. Mục tiêu trong khoá học này của chúng ta là có thể tạo ra được 1 Docker image gồm đầy đủ các thành phần để chạy website wordpress cơ bản (OpenLitespeed webserver, MariaDB 10, phpMyadmin 5,…).
  • Docker container: Là một dạng runtime của các Docker image, dùng để làm môi trường chạy ứng dụng. Sau khi tạo được Docker Image, chúng ta có thể đẩy nó lên kho Docker Hub. Khi muốn dựng 1 VPS mới ta chỉ cần “kéo” Docker Image từ Docker Hub về và tạo thành Docker Container để chạy Web.
  • Docker Engine: Là core dùng để tạo ra Docker image và chạy Docker container.
  • Docker Hub: dịch vụ lưu trữ giúp chứa các Docker image.
  • Docker Machine:tạo ra các Docker engine trên máy chủ.
  • Docker Compose: chạy ứng dụng bằng cách định nghĩa cấu hình các Docker container thông qua tệp cấu hình
  • Docker image: một dạng tập hợp các tệp của ứng dụng, được tạo ra bởi Docker engine. Nội dung của các Docker image sẽ không bị thay đổi khi di chuyển. Docker image được dùng để chạy các Docker container.
  • Docker Container: một dạng runtime của các Docker image, dùng để làm môi trường chạy ứng dụng.

Các bước tạo và triển khai một dự án Docker lên hub.docker.com

1. Tải dự án từ kho git

docker run --name repo alpine/git clone https://github.com/docker/getting-started.git

2. Copy file

Docker cp repo:/git/getting-started/ .

3.Di chuyển vào thư mục getting-started

cd getting-started

4. Build docker thành container docker101tutorial

docker build -t docker101tutorial .

5. Chạy dự án docker

docker run -d -p 80:80 --name docker-tutorial docker101tutorial

6.

docker tag docker101tutorial tuend/docker101tutorial

7. Đẩy dự án lên

docker push tuend/docker101tutorial

Tổng kết

 

 

MỘT SỐ TÀI LIỆU THAM KHẢO:
Series Sử dụng Docker: https://www.youtube.com/watch?v=r6JiWwh-08c&list=PLwJr0JSP7i8At14UIC-JR4r73G4hQ1CXO