Điều này sẽ cho phép bạn chạy các lệnh tùy ý bên trong vùng chứa hiện tại.
Tất nhiên, bất cứ điều gì chỉ huy bạn đang chạy phải tồn tại trong hệ thống tập tin chứa.
Lưu ý - Điều này sẽ sao chép xây dựng thư mục trong container .../nginx/html/thư mục để sao chép chỉ tập tin có trong thư mục:
Lưu ý - Thao tác này sẽ sao chép nội dung của thư mục xây dựng trong vùng chứa của …./nginx/html/ directory
Khối lượng được lưu trữ trong một phần của hệ thống tệp lưu trữ được quản lý bởi Docker (/ var/lib/docker/volumes/trên Linux). Các quy trình không Docker không nên sửa đổi phần này của hệ thống tập tin. Âm lượng là cách tốt nhất để duy trì dữ liệu trong Docker.
Khi bạn tạo một ổ đĩa, nó được lưu trữ trong một thư mục trên máy chủ Docker. Khi bạn gắn ổ đĩa vào một vùng chứa, thư mục này là những gì được gắn vào thùng chứa. Điều này tương tự như cách gắn kết các gắn kết hoạt động, ngoại trừ khối lượng được quản lý bởi Docker và được phân lập từ chức năng cốt lõi của máy chủ.
Một khối lượng nhất định có thể được ghép đồng thời vào nhiều vùng chứa. Khi không có vùng chứa đang chạy nào đang sử dụng ổ đĩa, ổ đĩa vẫn có sẵn cho Docker và không bị xóa tự động. Bạn có thể loại bỏ các ổ đĩa không sử dụng bằng cách sử dụng khối lượng docker prune.
Khi bạn lắp một ổ đĩa, nó có thể được đặt tên hoặc ẩn danh. Khối lượng ẩn danh không được đặt tên rõ ràng khi chúng được gắn lần đầu tiên vào một vùng chứa, vì vậy Docker cung cấp cho chúng một tên ngẫu nhiên được đảm bảo là duy nhất trong một máy chủ Docker đã cho. Bên cạnh tên, tên và khối lượng ẩn danh hoạt động theo cùng một cách.
Khối lượng cũng hỗ trợ sử dụng trình điều khiển âm lượng, cho phép bạn lưu trữ dữ liệu của mình trên máy chủ từ xa hoặc nhà cung cấp dịch vụ đám mây, trong số các khả năng khác.
Gắn kết gắn kết có thể được lưu trữ ở mọi nơi trên hệ thống máy chủ. Họ thậm chí có thể là các tệp hoặc thư mục hệ thống quan trọng. Các quy trình không Docker trên máy chủ Docker hoặc thùng chứa Docker có thể sửa đổi chúng bất cứ lúc nào. Có sẵn kể từ những ngày đầu của Docker. Gắn kết gắn kết có chức năng giới hạn so với khối lượng. Khi bạn sử dụng một gắn kết ràng buộc, một tập tin hoặc thư mục trên máy chủ được gắn vào một thùng chứa. Tệp hoặc thư mục được tham chiếu bởi đường dẫn đầy đủ của nó trên máy chủ. Tệp hoặc thư mục không cần tồn tại trên máy chủ Docker. Nó được tạo ra theo yêu cầu nếu nó chưa tồn tại. Gắn kết gắn kết rất hiệu quả, nhưng chúng dựa vào hệ thống tệp của máy chủ lưu trữ có cấu trúc thư mục cụ thể có sẵn. Nếu bạn đang phát triển các ứng dụng Docker mới, hãy cân nhắc sử dụng các tập đã đặt tên thay thế. Bạn không thể sử dụng lệnh Docker CLI để quản lý trực tiếp gắn kết gắn kết.
Một tác dụng phụ của việc sử dụng gắn kết ràng buộc, tốt hơn hoặc tệ hơn là bạn có thể thay đổi hệ thống tệp lưu trữ thông qua các quy trình đang chạy trong vùng chứa, bao gồm tạo, sửa đổi hoặc xóa các tệp hoặc thư mục hệ thống quan trọng. Đây là một khả năng mạnh mẽ có thể có các tác động bảo mật, bao gồm tác động đến các quy trình không Docker trên hệ thống máy chủ.
Gắn kết tmpfs chỉ được lưu trữ trong bộ nhớ của hệ thống lưu trữ và không bao giờ được ghi vào hệ thống tệp của hệ thống lưu trữ.
Gắn kết tmpfs không được lưu trên đĩa, trên máy chủ Docker hoặc trong vùng chứa. Nó có thể được sử dụng bởi một thùng chứa trong suốt thời gian tồn tại của thùng chứa, để lưu trữ trạng thái không liên tục hoặc thông tin nhạy cảm. Ví dụ, nội bộ, các dịch vụ swarm sử dụng các gắn kết tmpfs để gắn các bí mật vào các thùng chứa của một dịch vụ.
Nếu bạn cần chỉ định tùy chọn trình điều khiển âm lượng, bạn phải sử dụng --mount. -v hoặc --volume: Bao gồm ba trường, được phân tách bằng dấu hai chấm (:). Các trường phải theo đúng thứ tự và ý nghĩa của từng trường không rõ ràng ngay lập tức. o Trong trường hợp khối lượng được đặt tên, trường đầu tiên là tên của ổ đĩa, và là duy nhất trên một máy chủ đã cho. Đối với khối lượng ẩn danh, trường đầu tiên bị bỏ qua. o Trường thứ hai là đường dẫn nơi tệp hoặc thư mục sẽ được gắn trong vùng chứa. o Trường thứ ba là tùy chọn và là danh sách tùy chọn được phân cách bằng dấu phẩy, chẳng hạn như ro. Các tùy chọn này được thảo luận dưới đây. • --mount: Bao gồm nhiều cặp khóa-giá trị, được phân cách bằng dấu phẩy và mỗi dấu phẩy chứa một dấu =. Cú pháp --mount có nhiều chi tiết hơn v hoặc - volume, nhưng thứ tự của các khóa không quan trọng, và giá trị của cờ dễ hiểu hơn. o Loại gắn kết, có thể gắn kết, âm lượng hoặc tmpfs. Chủ đề này thảo luận về khối lượng, do đó, loại sẽ luôn là khối lượng. o Nguồn gắn kết. Đối với các tập đã đặt tên, đây là tên của ổ đĩa. Đối với khối lượng ẩn danh, trường này bị bỏ qua. Có thể được chỉ định là nguồn hoặc src. o đích sẽ lấy làm giá trị của nó đường dẫn nơi tệp hoặc thư mục sẽ được gắn trong vùng chứa. Có thể được chỉ định làm đích, dst hoặc đích. o Tùy chọn chỉ đọc, nếu có, làm cho gắn kết gắn kết vào vùng chứa dưới dạng chỉ đọc. o Tùy chọn chọn âm lượng, có thể được chỉ định nhiều lần, lấy cặp khóa-giá trị bao gồm tên tùy chọn và giá trị của nó.
thử thêm cho 'bạn Docker chạy command' gắn kết ràng buộc của' /var/run/docker.sock -v:/var/run/docker.sock' – user2915097
tôi muốn nói mà không cần cài Docker bên trong và không chạy docker bên trong vì nó tương đương với việc cấp đặc quyền sudo cho thùng chứa bên trong cho máy chủ bên ngoài. –
Có thực sự không phải là bất kỳ cách nào từ bên trong một container để xác định Docker khối lượng gắn kết (mà không tiếp xúc với api Docker). – larsks