This page looks best with JavaScript enabled

Docker là gì? Kiến thức cơ bản về Docker

 ·  ☕ 3 phút đọc · 👀... views

Trong bài lab lần này, chúng ta sẽ tìm hiểu về docker. Vậy docker là gì?
Docker là nền tảng phần mềm cho phép bạn dựng, kiểm thử và triển khai ứng dụng một cách nhanh chóng.

Docker đóng gói phần mềm vào các đơn vị tiêu chuẩn hóa được gọi là container có mọi thứ mà phần mềm cần để chạy, trong đó có thư viện, công cụ hệ thống, mã và thời gian chạy. Bằng cách sử dụng Docker, bạn có thể nhanh chóng triển khai và thay đổi quy mô ứng dụng vào bất kỳ môi trường nào và biết chắc rằng mã của bạn sẽ chạy được.
Nhưng để dễ tiếp cận nhất, cứ coi docker là máy ảo với các thành phần như:

  • Docker hub: Là cloud lưu trữ các Docker image (Giống như AMI của AWS)
  • Docker Container : Là các Instance (Giống như EC2 trong AWS)
  • Docker Network: Có các tính năng tương tự như network của VMware/Virtualbox
  • Docker volume: Có thể mount các thư mục trên máy host(máy thật) vào Container, hoặc có thể sử dụng ổ mạng nếy để Container instance có bị reset, tạo lại Container cũng không bị mất dữ liệu
  • Docker Container sẽ stopped/Exited ngay lập tức nếy trong Container không có chương trình nào đang chạy. Nên có thể gọi container với /bin/bash nếu không có gì chạy trong Instance Container
    Trên docker hub có sẵn gần như các loại image cho mọi như cầu phổ biến. Tuy nhiên, nếu muốn, có thể tạo Clean Image ban đầu từ bộ hệ điều hành có sẵn.
    Ví dụ: tạo image CleanUbuntu trên máy ảo EC2 từ bộ cài Ubuntu 20.04(tên mã là focal):
Bước 1: Chuẩn bị máy ảo EC2 chạy Ubuntu. Cài đặt công cụ tạo bộ cài Ubuntu với lệnh sau:
sudo apt-get update
sudo apt install debootstrap

Bước 2: Cài đặt docker

Chạy lệnh tạo file system cài ubuntu 20.04(focal) vào thư mục con focal trong thư mục này với lệnh sau:

sudo debootstrap focal focal
ls focal

Cài đặt phần mềm docker lên EC2:

sudo apt install docker.io -y
Bước 3: Tạo docker image
pwd
sudo tar -C focal -c. | sudo docker import - focal

Chạy thêm 1 container khác:

sudo docker run -it focal /bin/bash

Xem các container trên máy:

sudo docker container ls -a

Nếu muốn chạy docker không cần quyền sudo thì add USER vào group docker:

sudo usermod -aG docker $USER
newgrp docker  //để việc thay đổi có hiệu lực
hoặc exec su -l $USER

Kiểm tra log của container với lệnh sau:

sudo ls /var/lib/docker/containers/ -la

Giới hạn kích thước file log bằng cách cấu hình file : /etc/docker/daemon.json

sudo nano /etc/docker/daemon.json

Sửa nội dung file sau:

{
    "log-driver":"json-file",
    "log-opts":{
        "max-size":"50m",
        "max-file":"7"
    }
}

Sau đó lưu lại và khởi động lại docker

sudo systemctl restart docker

Các container mới sẽ chịu cấu hình mặc định này

Export và import image trong Docker

Docker lưu repository chứa các image và các layer, container ở đường dẫn: /var/lib/docker
Nếu muốn export một image từ responsitory trở lại file tar để copy và import vào máy khác thì dùng lệnh:

docker save --output name.tar name_docker_image

Sau khi copy xong, import sang máy khác chúng ta dùng lệnh:

docker load -i file.tar
Chia sẻ
Support the author with

Hùng Phạm
Viết bởi
Hùng Phạm
Web/Mobile Developer