CodeGym /Các khóa học /Docker SELF /Tạo và quản lý volumes

Tạo và quản lý volumes

Docker SELF
Mức độ , Bài học
Có sẵn

2.1 Các lệnh cơ bản của docker volume

Volumes trong Docker giúp lưu trữ dữ liệu lâu dài cho containers và làm cho việc quản lý và cô lập dữ liệu trở nên dễ dàng hơn. Lệnh docker volume cung cấp một bộ công cụ để tạo, quản lý và xóa volumes. Trong bài giảng này, chúng mình sẽ xem cách sử dụng lệnh docker volume để quản lý volumes trong Docker một cách hiệu quả.

Các lệnh docker volume cơ bản:

  1. docker volume create
  2. docker volume ls
  3. docker volume inspect
  4. docker volume rm
  5. docker volume prune

2.2 Tạo volume: docker volume create

Lệnh docker volume create được sử dụng để tạo một volume mới. Mặc định Docker sẽ tạo volume trong một vị trí tiêu chuẩn trên host, nhưng bạn cũng có thể chỉ định các tham số khác nhau để cấu hình volume.

Ví dụ đơn giản về việc tạo volume

Ví dụ này sẽ tạo một volume với tên my_volume.

Terminal

docker volume create my_volume

Tạo volume với các cấu hình

Bạn có thể chỉ định driver và các tham số để tạo volume với các đặc điểm xác định.

Terminal

docker volume create --driver local --opt o=uid=1000 --opt o=gid=1000 --opt type=tmpfs --opt 
device=tmpfs my_custom_volume

Tất cả các tham số này chúng ta sẽ xem xét sau, đừng quá chú tâm vào chúng bây giờ.

2.3 Danh sách volumes: docker volume ls

Lệnh docker volume ls hiển thị danh sách tất cả các volumes đã được tạo trên host.

Terminal

docker volume ls

Kết quả hiển thị sẽ chứa thông tin về tất cả các volumes đã tồn tại:

Terminal

DRIVER    VOLUME NAME
local     my_volume
local     my_custom_volume

2.4 Thông tin về volume: docker volume inspect

Lệnh docker volume inspect cung cấp thông tin chi tiết về một volume cụ thể, bao gồm vị trí, các tham số và việc sử dụng của nó.

Terminal

docker volume inspect my_volume

Output của lệnh sẽ chứa thông tin ở định dạng JSON:

JSON

[
    {
        "CreatedAt": "2023-07-26T12:34:56Z",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/my_volume/_data",
        "Name": "my_volume",
        "Options": {},
        "Scope": "local"
    }
]

2.5 Xóa volume: docker volume rm

Lệnh docker volume rm được sử dụng để xóa volume. Quan trọng là phải đảm bảo volume không được sử dụng bởi containers trước khi xóa.

Xóa volume

Nếu volume đang được sử dụng, Docker sẽ báo lỗi, cho biết rằng volume không thể xóa được.

Terminal

docker volume rm my_volume

Làm sạch volumes không sử dụng: docker volume prune

Lệnh docker volume prune xóa tất cả các volumes không sử dụng, giúp giải phóng không gian trên ổ đĩa.

Làm sạch volumes không sử dụng

Sau khi thực hiện lệnh, Docker sẽ yêu cầu xác nhận trước khi xóa tất cả các volumes không sử dụng.

Terminal

docker volume prune

2.6 Các ví dụ thực hành sử dụng lệnh

Ví dụ 1: Tạo và sử dụng volume trong container

Tạo volume:

Terminal

docker volume create app_data

Chạy container với volume:

Terminal

docker run -d --name my_app -v app_data:/usr/share/nginx/html nginx

Trong ví dụ này, volume app_data được gắn vào thư mục /usr/share/nginx/html của container nginx.

Ví dụ 2: Lấy thông tin về volume

Tạo volume:

Terminal

docker volume create logs_data

Chạy container với volume:

Terminal

docker run -d --name log_app -v logs_data:/var/log/app busybox

Xem thông tin về volume:

Terminal

docker volume inspect logs_data

Ví dụ 3: Xóa và dọn dẹp volumes

Tạo và sử dụng volume:

Terminal

docker volume create temp_data

docker run -d --name temp_app -v temp_data:/tmp busybox

Dừng và xóa container:

Terminal

docker stop temp_app

docker rm temp_app

Xóa volume:

Terminal

docker volume rm temp_data

Dọn dẹp tất cả các volumes không sử dụng:

Terminal

docker volume prune
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION