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:
docker volume create
docker volume ls
docker volume inspect
docker volume rm
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
.
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.
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.
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:
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ó.
docker volume inspect my_volume
Output của lệnh sẽ chứa thông tin ở định dạng 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.
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.
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:
docker volume create app_data
Chạy container với volume:
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:
docker volume create logs_data
Chạy container với volume:
docker run -d --name log_app -v logs_data:/var/log/app busybox
Xem thông tin về volume:
docker volume inspect logs_data
Ví dụ 3: Xóa và dọn dẹp volumes
Tạo và sử dụng volume:
docker volume create temp_data
docker run -d --name temp_app -v temp_data:/tmp busybox
Dừng và xóa container:
docker stop temp_app
docker rm temp_app
Xóa volume:
docker volume rm temp_data
Dọn dẹp tất cả các volumes không sử dụng:
docker volume prune
GO TO FULL VERSION