Ghi chép lại quá trình tìm hiểu Docker
Tìm hiểu cách Docker quản lý dữ liệu.
Mọi container đều tự động nhận được những vùng lưu trữ nội bộ. Mặc định, nó chứa các file, filesystem của container, tồn tại theo vòng đời của container.
/var/lib/docker/<storage-driver>/
r C:\ProgramData\Docker\windowsfilter\
overlay2
, còn những phiên bản cũ sử dụng devicemapper
.overlay2
và aufs
. Nên sử dụng overlay2 từ Linux kernel 4.x trở lên.btrfs
.Volume có thể được quản lý thông qua API hoặc câu lệnh docker volume
.
docker volume create myvol
Mặc định nó sẽ tạo với built-in driver local
. Có thể cấu hình driver khác bằng cờ -d
. Những driver bên thứ 3 có thể tích hợp như các plugin.
docker volume ls
docker volume inspect myvol
root@dell:~# docker volume create myvol
myvol
root@dell:~# docker volume ls
DRIVER VOLUME NAME
local myvol
root@dell:~# docker volume inspect myvol
[
{
"CreatedAt": "2019-11-16T14:29:50+07:00",
"Driver": "local",
"Labels": {},
"Mountpoint": "/var/lib/docker/volumes/myvol/_data",
"Name": "myvol",
"Options": {},
"Scope": "local"
}
]
Từ lệnh docker volume inspect
có thể xem nhiều thông tin về volume như thời gian tạo, driver, tên, mountpoint trên hệ thống,..
--mount
. Ví dụdocker run -d \
--name web3
--mount source=myvol,target=/var/app \
httpd
docker volume rm
- xóa một hay nhiều volume chỉ địnhdocker volume prune
- xóa tất cả các volume không được dùng bởi ít nhất một container.Bind mount là một file hay một thư mục được lưu ở bất kì đâu trên hệ thống máy chủ, được mount vào trong contianer. Khác nhau lớn nhất giữa bind mount và volume là nó có thể tồn tại ở bất kì đâu trong hệ thống máy chủ, các process khác ngoài Docker cung có thể quản lý nó.
--mount type=bind
, ví dụ:
docker run -dit --mount type=bind,source=/var/data,target=/var/app alpine
##