Sấu Gấu's Blog


Docker components


Docker là một nền tảng dùng để phát triển, triển khai và chạy các ứng dụng trong các container. Dưới đây là các thành phần chính của Docker:

1. Docker Engine: Đây là lõi của Docker, gồm hai thành phần chính
  • Docker Daemon (dockerd): Chạy nền và chịu trách nhiệm quản lý các Docker containers, images, networks và volumes.
  • Docker CLI (Command Line Interface): Công cụ dòng lệnh cho phép người dùng tương tác với Docker Daemon để thực hiện các tác vụ như xây dựng, chạy và quản lý containers.
  • 2. Docker Images: Docker Image là một gói phần mềm được đóng gói chứa tất cả những gì cần thiết để chạy một ứng dụng, bao gồm:

    1. Mã nguồn: Các tệp tin thực thi hoặc mã nguồn của ứng dụng.
    2. Công cụ và thư viện: Các thư viện, gói phần mềm hoặc phụ thuộc cần thiết để chạy ứng dụng.
    3. Cài đặt hệ thống: Cấu hình hệ thống như biến môi trường, đường dẫn, hoặc các tệp cấu hình cần thiết để ứng dụng hoạt động.
    4. Chương trình nền tảng: Bản sao của hệ điều hành hoặc các thành phần cơ bản như là hệ điều hành tối thiểu để giúp ứng dụng chạy được.
    3. Docker Containers: Container là một phiên bản hoạt động của một image. Nó tách biệt ứng dụng với môi trường của hệ thống, đảm bảo tính nhất quán khi chạy trên các môi trường khác nhau.
    4. Dockerfile: Đây là một tệp cấu hình chứa các chỉ thị để xây dựng một Docker image. Dockerfile định nghĩa cách Docker image sẽ được tạo ra, bao gồm các bước cài đặt và thiết lập ứng dụng.
    5. Docker Hub: Docker Hub là một registry public, nơi người dùng có thể chia sẻ, lưu trữ và tìm kiếm các Docker images. Ngoài Docker Hub, người dùng cũng có thể thiết lập các registry riêng để lưu trữ images.
    6. Docker Compose: Docker Compose là một công cụ cho phép bạn định nghĩa và quản lý nhiều containers bằng cách sử dụng tệp docker-compose.yml. Nó giúp dễ dàng điều phối các containers để tạo ra các ứng dụng phức tạp bao gồm nhiều dịch vụ.
    7. Docker Swarm: Đây là công cụ tích hợp sẵn trong Docker để điều phối các container trên một cụm (cluster) các máy tính. Swarm cho phép quản lý nhiều containers trong môi trường phân tán một cách dễ dàng.
    8. Docker Volumes: Docker Volumes cung cấp một cách để lưu trữ dữ liệu lâu dài ngoài containers. Điều này rất quan trọng vì dữ liệu của containers có thể bị mất khi container bị xóa.
    9. Docker Networks: Docker Networks quản lý kết nối giữa các containers, giúp chúng giao tiếp với nhau hoặc với các dịch vụ bên ngoài một cách an toàn và hiệu quả.

    Volume bind

    Trong Docker Compose, kiểu volume bind cho phép bạn ánh xạ một thư mục trên máy chủ vật lý (host) vào container. Điều này hữu ích khi bạn muốn chia sẻ các tệp hoặc thư mục từ máy chủ vật lý của mình vào container để chúng được sử dụng hoặc thay đổi trực tiếp từ cả hai bên.
        version: "3"
       services:
         my-service:
           image: my-image
           volumes:
             - type: bind
               source: ./path/on/host
               target: /path/in/container

    Ngày đăng: Sept. 20, 2024
    59 total views

    Comment

    Hiện tại chưa có comment nào...