Docker Cơ Bản Mọi Lập Trình Viên Cần Biết

Docker Cơ Bản Mọi Lập Trình Viên Cần Biết

Nếu bạn đang làm ở một công ty công nghệ thông tin, chắc rằng bạn đã được nghe nói về Docker. Thậm chí trong số các công nghệ "hot" nhất hiện nay như PostgreSQL, MongoDB, Apache Spark, Bash shell, AWS, Kafka, Jenkins, thì Docker vẫn nổi bật nhất. Các doanh nghiệp đều muốn Docker. Docker ngày càng trở nên gần gũi với các start-ups cũng như với những tập đoàn kinh tế lớn cho dù nó chỉ đang là một công cụ rất mới.

Tại sao nên sử dụng docker?

Trước khi muốn biết Docker là gì, bạn có biết vì sao phải sử dụng đến Docker? Bởi việc setup và deploy application lên một hay nhiều server sẽ rất vất vả. Từ việc cài đặt công cụ đến môi trường cần cho application và việc chạy được các ứng dụng, còn chưa kể đến việc đống nhất các môi trường ở trên nhiều server khác nhau. Do đó, bạn phải sử dụng đến Docker nhằm giải quyết những vấn đề rắc rối này.

Docker là một nền tẳng để cho developers và sytem sadmin nhằm để develop, deploy và run application với container. Docker cho phép tạo ra các môi trường độc lập và tách biệt giúp khởi chạy, phát triển cho ứng dụng và mội trường này được gọi với cái tên là container. Môi khi deploy lên server bất kỳ, bạn chỉ cần run container của Docker thì application của bạn sẽ tự động được khởi chạy ngay lập tức.

Lợi ích tuyệt vời khi sử dụng docker

Sau khi đã hiểu được Docker là gì, bạn có biết nó có rất nhiều lợi ích công nghệ sau đây:

  • Docker giúp cho việc start và stop nhanh chỉ trong vòng vài giây không như với máy ảo.
  • Trên mỗi hệ thống, bạn đều có thể khởi chạy container.
  • Container giúp build và loại bỏ nhanh hơn nhiều so với máy ảo.
  • Giúp bạn thiết lập môi trường làm việc dễ dàng. Chỉ cần đến config 1 lần duy nhất, và sẽ không bao giờ phải cài đặt lại dependencies. Với trường hợp thay đổi máy hoặc có người mới tham gia vào project, thì bạn chỉ cần đưa config đó cho họ.

Docker giữ cho word-space trong máy sạch sẽ hơn khi bạn xóa môi trường mà không gây ảnh hưởng đến các phần khác.

Hướng dẫn cài đặt docker

Khi đã hiểu Docker là gì và lợi ích của nó, bạn download Docker tại đường link: https://www.docker.com/get-started

Sau đó, bạn lựa chọn bản cài đặt phù hợp với hệ điều hành mà mình đang sử dụng. Làm theo hướng dẫn cài đặt đối với Linux. Còn MacOS và Windows thì chỉ cần tải về, rồi cài đặt như các application khác.

Những khái niệm cần biết trong docker

Ngoài khái niệm Docker là gì, bạn nên tìm hiểu thêm về các thuật ngữ liên quan đến nó:

  • Docker Client chính là cách mà bạn tương tác với Docker bằng command trong terminal. Docker Client sủ dụng API để gửi lệnh đến Docker Deamon.
  • Docker Deamon là server Docker cho yêu cầu gửi từ Docker API. Nó quản lý các containers, images, networks và volume.
  • Docker Volumes được hiểu là cách tốt nhất để lưu trữ dữ liệu liên tục cho việc sử dụng cũng như tạo apps.
  • Docker Hub được hiểu là registry lớn nhất của Docker Images (mặc định). Bạn sẽ tìm được images và lưu trữ images của riêng mình trên Docker Hub miễn phí.
  • Docker Registry là nơi để lưu trữ riêng cho Docker Images. Images sẽ được push vào registry và client sẽ pull images từ registry. Bạn có thể sử dụng registry của riêng mình hoặc registry của các nhà cung cấp lớn như: Google Cloud, AWS, Microsoft, Azure.
  • Docker Repository là một tập hợp các Docker Images cung tên nhưng tags khác nhau.
  • Docker Networking dùng để cho phép kết nối các container lại với nhau. Kết nối này được sử dụng trên 1 hay nhiều host.
  • Docker Compose chính là công cụ để cho phép run app với nhiều Docker containers một cách dễ dàng hơn. Docker Compose giúp bạn cofig các command ở trong file docker-compose.yml nhằm sử dụng lại. Có sẵn khi được cài Docker.
  • Docker Services là các container. có trong production. 1 service sẽ chỉ run 1 image nhưng nó sẽ mã hóa cách thức nhằm run image – sử dụng những port nào, có bao nhiêu bản sao container run để service có hiệu năng cần thiết và ngay lập tức.
  • Docker Swarm được dùng để phối hợp triển nhiêu container.
  • Dockerfile là file config dành cho Docker để build ra image. Nó sử dụng một image cơ bản để có thể xây dựng lớp image ban đầu. Một số image cơ bản như: python, unbutu and alpine. Sau đó, nếu có các lớp bổ sung thì chúng sẽ được xếp chông lên các lớp cơ bản. Và cuối cùng thì một lớp mỏng sẽ được xếp chồng lên nhau trên các lớp từ trước đó.

Tạm kết

Vậy là bạn đã hiểu Docker là gì, cũng như tầm quan trọng, lợi ích và các khái niệm có liên quan. Hy vọng những thông tin cung cấp vừa rồi sẽ là những thông tin hữu ích giúp phục vụ cho công việc của bạn tốt hơn.