Chúng ta có thể có một khối lượng dữ liệu trong Docker:Docker khối lượng dữ liệu vs thư mục máy chủ gắn
$ docker run -v /path/to/data/in/container --name test_container debian
$ docker inspect test_container
...
Mounts": [
{
"Name": "fac362...80535",
"Source": "/var/lib/docker/volumes/fac362...80535/_data",
"Destination": "/path/to/data/in/container",
"Driver": "local",
"Mode": "",
"RW": true
}
]
...
Nhưng nếu cuộc sống khối lượng dữ liệu trong /var/lib/docker/volumes/fac362...80535/_data
, là nó bất kỳ khác nhau từ việc các dữ liệu trong một thư mục đã được gắn bằng -v /path/to/data/in/container:/home/user/a_good_place_to_have_data
?
Bạn có thể làm rõ những gì tài liệu Docker nghĩa bởi đó thư mục chủ là * host-phụ thuộc *? Có quyền truy cập tập tin có nghĩa là bởi vì họ trong một số trường hợp là một nỗi đau để nhân rộng trên một máy chủ lưu trữ khi bạn di chuyển một container cộng với thư mục được gắn kết với một máy chủ lưu trữ? Ngoài ra sự khác biệt giữa khối lượng được đặt tên và thư mục được gắn kết là gì? Tôi hiểu rằng đặc biệt việc chia sẻ dữ liệu liên tục giữa nhiều vùng chứa là trường hợp sử dụng cho vùng chứa dữ liệu. Nhưng trong trường hợp dữ liệu liên tục chỉ liên quan đến một thùng chứa duy nhất tôi bị mất một chút :-). – PermaFrost
@PermaFrost phụ thuộc vào máy chủ nghĩa là bạn không thể viết Dockerfile với đường dẫn khối từ máy chủ, vì Dockerfile có thể được xây dựng trên bất kỳ máy chủ nào, mỗi đặc điểm riêng của chúng: đường dẫn hợp lệ trên một máy chủ có thể không khả dụng trên máy chủ khác. Đó là lý do tại sao gắn một thư mục máy chủ là một hoạt động * runtime * (docker run), không phải là một thời gian biên dịch (docker build) – VonC
@PermaFrost một khối lượng có tên là host độc lập và liên tục. Ngay cả đối với một thùng chứa chỉ, điều đó có nghĩa là tôi có thể xuất và khôi phục một ổ đĩa có tên trên bất kỳ máy chủ lưu trữ nào. Xem https://madcoda.com/2016/03/docker-named-volume-explained/ – VonC