Gắn kết là gì?


325

Một liên kết gắn kết khác là gì? Làm thế nào để tôi làm cho một? Nó tốt cho cái gì?

Tôi đã được yêu cầu sử dụng một liên kết gắn kết cho một cái gì đó, nhưng tôi không hiểu nó là gì hoặc làm thế nào để sử dụng nó.


2
làm rõ thay thế hữu ích giữa gắn kết và liên kết tượng trưng: quora.com/ từ
Charlie Parker

Câu trả lời:


564

Gắn kết là gì?

Một núi ràng buộc là một cái nhìn khác của một cây thư mục. Về mặt kinh điển, việc gắn kết tạo ra một khung nhìn của một thiết bị lưu trữ dưới dạng cây thư mục. Thay vào đó, một liên kết gắn kết lấy một cây thư mục hiện có và sao chép nó dưới một điểm khác. Các thư mục và tập tin trong mount mount giống như bản gốc. Bất kỳ sửa đổi nào ở một bên sẽ được phản ánh ngay lập tức ở phía bên kia, vì hai chế độ xem hiển thị cùng một dữ liệu.

Ví dụ: sau khi ban hành lệnh Linux

mount --bind /some/where /else/where

các thư mục /some/where/else/wherecó cùng nội dung.

Không giống như liên kết cứng hoặc liên kết tượng trưng, ​​liên kết gắn kết không ảnh hưởng đến những gì được lưu trữ trên hệ thống tập tin. Đó là một tài sản của hệ thống sống.

Làm thế nào để tôi tạo ra một liên kết gắn kết?

liên kết

Hệ bindfsthống tập tin là một hệ thống tập tin FUSE tạo ra một khung nhìn của cây thư mục. Ví dụ: lệnh

bindfs /some/where /else/where

làm cho /else/wheremột điểm gắn kết theo đó các nội dung của /some/wherecó thể nhìn thấy.

Vì bindfs là một hệ thống tệp riêng biệt, các tệp /some/where/foo/else/where/fooxuất hiện dưới dạng các tệp khác nhau cho các ứng dụng (hệ thống tệp bindfs có st_devgiá trị riêng ). Bất kỳ sự thay đổi nào ở một phía là một cách kỳ diệu, được phản ánh ở phía bên kia, nhưng thực tế là các tệp giống nhau chỉ rõ ràng khi người ta biết cách hoạt động của bindfs.

Bindfs không có kiến ​​thức về các điểm gắn kết, vì vậy nếu có một điểm gắn kết bên dưới /some/where, nó sẽ xuất hiện như một thư mục khác bên dưới /else/where. Gắn hoặc ngắt kết nối một hệ thống tập tin bên dưới /some/wherexuất hiện dưới /else/wheredạng thay đổi của thư mục tương ứng.

Bindfs có thể thay đổi một số siêu dữ liệu tệp: nó có thể hiển thị quyền và quyền sở hữu giả cho các tệp. Xem hướng dẫn để biết chi tiết, và xem bên dưới để biết ví dụ.

Một hệ thống tập tin bindfs có thể được gắn kết như một người dùng không phải root, bạn chỉ cần có đặc quyền để gắn kết các hệ thống tập tin FUSE. Tùy thuộc vào phân phối của bạn, điều này có thể yêu cầu phải ở trong fusenhóm hoặc được phép cho tất cả người dùng. Để ngắt kết nối hệ thống tệp FUSE, hãy sử dụng fusermount -uthay vì umount, ví dụ:

fusermount -u /else/where

nullfs

FreeBSD cung cấp nullfshệ thống tập tin tạo ra một khung nhìn thay thế của hệ thống tập tin. Hai lệnh sau là tương đương:

mount -t nullfs /some/where /else/where
mount_nullfs /some/where /else/where

Sau khi ban hành một trong hai lệnh, /else/wheretrở thành một điểm gắn kết tại đó /some/wherecó thể nhìn thấy nội dung của nó.

Vì nullfs là một hệ thống tệp riêng biệt, các tệp /some/where/foo/else/where/fooxuất hiện dưới dạng các tệp khác nhau cho các ứng dụng (hệ thống tệp nullfs có st_devgiá trị riêng ). Bất kỳ sự thay đổi nào ở một phía là một cách kỳ diệu, được phản ánh ở phía bên kia, nhưng thực tế là các tệp giống nhau chỉ rõ ràng khi người ta biết nullfs hoạt động như thế nào.

Không giống như các ràng buộc FUSE, hoạt động ở cấp độ của cây thư mục, các nullfs của FreeBSD hoạt động sâu hơn trong kernel, vì vậy các điểm gắn kết bên dưới /else/wherekhông thể nhìn thấy: chỉ có cây là một phần của cùng một điểm gắn kết như /some/wheređược phản ánh bên dưới /else/where.

Hệ thống tập tin nullfs có thể được sử dụng theo các biến thể BSD khác (OS X, OpenBSD, NetBSD) nhưng nó không được biên dịch như một phần của hệ thống mặc định.

Gắn kết Linux

Trong Linux, các liên kết gắn kết có sẵn như là một tính năng hạt nhân. Bạn có thể tạo một mountlệnh bằng lệnh, bằng cách chuyển --bindtùy chọn dòng lệnh hoặc bindtùy chọn gắn kết. Hai lệnh sau là tương đương:

mount --bind /some/where /else/where
mount -o bind /some/where /else/where

Ở đây, các thiết bị của LỚN /some/wherekhông phải là một phân vùng đĩa như trong trường hợp của một hệ thống tập tin trên đĩa, mà là một thư mục hiện có. Điểm gắn kết /else/wherephải là một thư mục hiện có như bình thường. Lưu ý rằng không có loại hệ thống tệp nào được chỉ định theo một trong hai cách: tạo liên kết gắn kết không liên quan đến trình điều khiển hệ thống tệp, nó sao chép cấu trúc dữ liệu hạt nhân từ giá trị gốc.

mount --bindcũng hỗ trợ gắn một thư mục không vào thư mục: /some/wherecó thể là một tệp thông thường (trong trường hợp này cũng /else/wherecần phải là một tệp thông thường).

Một liên kết gắn kết Linux hầu như không thể phân biệt được với bản gốc. Lệnh df -T /else/wherehiển thị cùng một thiết bị và cùng loại hệ thống tập tin như df -T /some/where. Các tập tin /some/where/foo/else/where/fookhông thể phân biệt, như thể chúng là các liên kết cứng. Có thể ngắt kết nối /some/where, trong trường hợp này /else/wherevẫn được gắn kết.

Với các nhân cũ hơn (tôi không biết chính xác khi nào, tôi nghĩ cho đến khi một số 3.x), các liên kết gắn kết thực sự không thể phân biệt được với bản gốc. Các hạt nhân gần đây thực hiện theo dõi các liên kết gắn kết và hiển thị thông tin thông qua PID / mountinfo, cho phép findmntchỉ ra các liên kết gắn kết như vậy .

Bạn có thể đặt các mục gắn kết liên kết trong /etc/fstab. Chỉ cần bao gồm bind(hoặc rbindvv) trong các tùy chọn, cùng với bất kỳ tùy chọn nào bạn muốn. Các thiết bị trên máy tính là một cây hiện có. Cột hệ thống tệp có thể chứa nonehoặc bind(bị bỏ qua, nhưng sử dụng tên hệ thống tệp sẽ gây nhầm lẫn). Ví dụ:

/some/where /readonly/view none bind,ro

Nếu có các điểm gắn kết bên dưới /some/where, nội dung của chúng không thể nhìn thấy bên dưới /else/where. Thay vì bind, bạn có thể sử dụng rbind, cũng sao chép các điểm gắn kết bên dưới /some/where. Ví dụ: nếu /some/where/mntlà một điểm gắn kết thì

mount --rbind /some/where /else/where

tương đương với

mount --bind /some/where /else/where
mount --bind /some/where/mnt /else/where/mnt

Ngoài ra, Linux cho phép gắn kết được khai báo là chia sẻ , nô lệ , riêng tư hoặc không thể ràng buộc . Điều này ảnh hưởng đến việc hoạt động gắn kết đó có được phản ánh dưới giá treo liên kết sao chép điểm gắn kết hay không. Để biết thêm chi tiết, xem tài liệu kernel .

Linux cũng cung cấp một cách để di chuyển các thú cưỡi: trong đó các --bindbản sao, --movedi chuyển một điểm gắn kết.

Có thể có các tùy chọn gắn kết khác nhau trong hai thư mục gắn kết. Tuy nhiên, có một điều không hay: làm cho việc gắn kết liên kết và thiết lập các tùy chọn gắn kết không thể được thực hiện nguyên tử, chúng phải là hai hoạt động liên tiếp. (Các hạt nhân cũ hơn không cho phép điều này.) Ví dụ, các lệnh sau tạo chế độ xem chỉ đọc, nhưng có một cửa sổ nhỏ thời gian trong đó /else/wherelà đọc-ghi:

mount --bind /some/where /else/where
mount -o remount,ro,bind /else/where

Tôi không thể có được gắn kết để làm việc!

Nếu hệ thống của bạn không hỗ trợ FUSE, một mẹo cổ điển để đạt được hiệu quả tương tự là chạy máy chủ NFS, làm cho nó xuất các tệp bạn muốn phơi bày (cho phép truy cập localhost) và gắn kết chúng trên cùng một máy. Điều này có một chi phí đáng kể về bộ nhớ và hiệu năng, do đó, các liên kết gắn kết có một lợi thế nhất định nếu có (trên hầu hết các biến thể Unix nhờ vào FUSE).

Trường hợp sử dụng

Chế độ xem chỉ đọc

Có thể hữu ích khi tạo chế độ xem chỉ đọc của hệ thống tệp, vì lý do bảo mật hoặc chỉ là một lớp an toàn để đảm bảo rằng bạn sẽ không vô tình sửa đổi nó.

Với các ràng buộc:

bindfs -r /some/where /mnt/readonly

Với Linux, cách đơn giản:

mount --bind /some/where /mnt/readonly
mount -o remount,ro,bind /mnt/readonly

Điều này để lại một khoảng thời gian ngắn trong đó /mnt/readonlylà đọc-ghi. Nếu đây là vấn đề bảo mật, trước tiên hãy tạo liên kết gắn kết trong thư mục mà chỉ root mới có thể truy cập, làm cho nó chỉ đọc, sau đó di chuyển nó đến điểm gắn kết công khai. Trong đoạn trích dưới đây, lưu ý rằng điều quan trọng là /root/private(thư mục phía trên điểm gắn kết) là riêng tư; các quyền ban đầu /root/private/mntkhông liên quan vì chúng bị ẩn đằng sau điểm gắn kết.

mkdir -p /root/private/mnt
chmod 700 /root/private
mount --bind /some/where /root/private/mnt
mount -o remount,ro,bind /root/private/mnt
mount --move /root/private/mnt /mnt/readonly

Nhắc lại người dùng và nhóm

Hệ thống tập tin ghi lại người dùng và các nhóm bằng ID số của họ. Đôi khi bạn kết thúc với nhiều hệ thống gán ID người dùng khác nhau cho cùng một người. Đây không phải là vấn đề với truy cập mạng, nhưng nó làm cho ID người dùng trở nên vô nghĩa khi bạn mang dữ liệu từ hệ thống này sang hệ thống khác trên đĩa. Giả sử rằng bạn có một đĩa được tạo bằng hệ thống tệp nhiều người dùng (ví dụ: ext4, btrfs, zfs, UFS, giật) trên hệ thống mà Alice có ID người dùng 1000 và Bob có ID người dùng 1001 và bạn muốn làm cho đĩa đó có thể truy cập được một hệ thống trong đó Alice có ID người dùng 1001 và Bob có ID người dùng 1000. Nếu bạn gắn đĩa trực tiếp, các tệp của Alice sẽ xuất hiện dưới dạng sở hữu của Bob (vì ID người dùng là 1001) và các tệp của Bob sẽ xuất hiện dưới dạng sở hữu của Alice (vì ID người dùng là 1000).

Bạn có thể sử dụng bindfs để ánh xạ lại ID người dùng. Đầu tiên gắn kết phân vùng đĩa trong một thư mục riêng, trong đó chỉ có root mới có thể truy cập nó. Sau đó, tạo chế độ xem liên kết trong khu vực công cộng, với ánh xạ lại ID người dùng và ID nhóm hoán đổi ID người dùng và ID nhóm của Alice và Bob.

mkdir -p /root/private/alice_disk /media/alice_disk
chmod 700 /root/private
mount /dev/sdb1 /root/private/alice_disk
bindfs --map=1000/1001:1001/1000:@1000/1001:@1001/1000 /root/private/alice_disk /media/alice_disk

Xem Làm thế nào để một người có thể truy cập các tệp trên thư mục nhà của người dùng không khởi động? gắn kết - liên kết người dùng khác như tôi ví dụ khác.

Gắn trong nhà tù hoặc container

Một chroot jail hoặc container chạy một tiến trình trong một cây con của cây thư mục của hệ thống. Điều này có thể hữu ích để chạy một chương trình có quyền truy cập hạn chế, ví dụ: chạy máy chủ mạng chỉ có quyền truy cập vào các tệp của chính nó và các tệp mà nó phục vụ, nhưng không cho các dữ liệu khác được lưu trữ trên cùng một máy tính). Một hạn chế của chroot là chương trình bị giới hạn trong một cây con: nó không thể truy cập vào các cây con độc lập. Gắn kết ràng buộc cho phép ghép các cây con khác vào cây chính đó. Điều này làm cho chúng trở thành nền tảng cho hầu hết việc sử dụng các container trong Linux.

Ví dụ: giả sử rằng một máy chạy một dịch vụ /usr/sbin/somethingdchỉ nên có quyền truy cập vào dữ liệu theo /var/lib/something. Cây thư mục nhỏ nhất chứa cả hai tệp này là root. Làm thế nào có thể giới hạn dịch vụ? Một khả năng là tạo các liên kết cứng đến tất cả các tệp mà dịch vụ cần (ít nhất /usr/sbin/somethingdvà một số thư viện dùng chung) bên dưới /var/lib/something. Nhưng điều này là cồng kềnh (các liên kết cứng cần được cập nhật bất cứ khi nào một tệp được nâng cấp) và không hoạt động nếu /var/lib/something/usrnằm trên các hệ thống tệp khác nhau. Một giải pháp tốt hơn là tạo một gốc ad hoc và điền vào nó bằng cách sử dụng mount:

mkdir /run/something
cd /run/something
mkdir -p etc/something lib usr/lib usr/sbin var/lib/something
mount --bind /etc/something etc/something
mount --bind /lib lib
mount --bind /usr/lib usr/lib
mount --bind /usr/sbin usr/sbin
mount --bind /var/lib/something var/lib/something
mount -o remount,ro,bind etc/something
mount -o remount,ro,bind lib
mount -o remount,ro,bind usr/lib
mount -o remount,ro,bind usr/sbin
chroot . /usr/sbin/somethingd &

Không gian tên gắn kết của Linux khái quát hóa các chroots. Gắn kết ràng buộc là cách không gian tên có thể được cư trú theo cách linh hoạt. Xem phần Tạo một quy trình đọc một tệp khác cho cùng tên tệp để biết ví dụ.

Chạy một bản phân phối khác

Một cách sử dụng khác của chroots là cài đặt một bản phân phối khác trong một thư mục và chạy các chương trình từ nó, ngay cả khi chúng yêu cầu các tệp ở các đường dẫn được mã hóa cứng không có hoặc có nội dung khác trên hệ thống cơ sở. Ví dụ, điều này có thể hữu ích để cài đặt bản phân phối 32 bit trên hệ thống 64 bit không hỗ trợ các gói hỗn hợp, để cài đặt các bản phát hành cũ của bản phân phối hoặc các bản phân phối khác để kiểm tra tính tương thích, để cài đặt bản phát hành mới hơn để kiểm tra các tính năng mới nhất trong khi duy trì hệ thống cơ sở ổn định, v.v ... Xem Làm cách nào để chạy các chương trình 32 bit trên Debian / Ubuntu 64 bit? ví dụ về Debian / Ubuntu.

Giả sử rằng bạn đã cài đặt các gói mới nhất của bản phân phối trong thư mục /f/unstable, nơi bạn chạy các chương trình bằng cách chuyển sang thư mục đó với chroot /f/unstable. Để làm cho các thư mục nhà có sẵn từ cài đặt này, liên kết gắn kết chúng vào chroot:

mount --bind /home /f/unstable/home

Các chương trình schroot làm điều này tự động.

Truy cập các tập tin ẩn đằng sau một điểm gắn kết

Khi bạn gắn một hệ thống tập tin vào một thư mục, điều này sẽ ẩn những gì đằng sau thư mục. Các tập tin trong thư mục đó không thể truy cập được cho đến khi thư mục không được đếm. Bởi vì các giá trị gắn kết BSD nullfs và Linux hoạt động ở mức thấp hơn so với cơ sở hạ tầng gắn kết, nên giá trị gắn kết nullfs hoặc giá trị gắn kết của hệ thống tệp hiển thị các thư mục bị ẩn sau bản gốc.

Ví dụ: giả sử bạn có một hệ thống tập tin tmpfs được gắn tại /tmp. Nếu có các tệp bên dưới /tmpkhi hệ thống tệp tmpfs được tạo, các tệp này có thể vẫn còn, không thể truy cập một cách hiệu quả nhưng chiếm không gian đĩa. Chạy

mount --bind / /mnt

(Linux) hoặc

mount -t nullfs / /mnt

(FreeBSD) để tạo chế độ xem hệ thống tập tin gốc tại /mnt. Thư mục /mnt/tmpnày là một trong các hệ thống tập tin gốc.

Xuất khẩu NFS ở các đường khác nhau

Một số máy chủ NFS (chẳng hạn như máy chủ NFS của Linux trước NFSv4) luôn quảng cáo vị trí thư mục thực tế khi chúng xuất thư mục. Đó là, khi khách hàng yêu cầu server:/requested/location, máy chủ phục vụ cây tại vị trí /requested/location. Đôi khi, mong muốn cho phép khách hàng yêu cầu /request/locationnhưng thực sự phục vụ các tệp theo /actual/location. Nếu máy chủ NFS của bạn không hỗ trợ phục vụ một vị trí thay thế, bạn có thể tạo liên kết gắn kết cho yêu cầu dự kiến, ví dụ:

/requested/location *.localdomain(rw,async)

trong /etc/exportsvà sau đây trong /etc/fstab:

/actual/location /requested/location bind bind

Thay thế cho các liên kết tượng trưng

Đôi khi bạn muốn tạo liên kết tượng trưng để làm cho một tệp /some/where/is/my/filexuất hiện bên dưới /else/where, nhưng ứng dụng sử dụng filemở rộng các liên kết tượng trưng và từ chối /some/where/is/my/file. Một mount mount có thể hoạt động xung quanh cái này: mount-mount /some/where/is/myto /else/where/is/my, và sau đó realpathsẽ báo cáo /else/where/is/my/fileở dưới /else/where, chứ không phải dưới /some/where.

Tác dụng phụ của gắn kết

Thư mục đệ quy

Nếu bạn sử dụng các liên kết gắn kết, bạn cần chăm sóc các ứng dụng đi qua cây hệ thống tập tin theo cách đệ quy, như sao lưu và lập chỉ mục (ví dụ: để xây dựng cơ sở dữ liệu định vị ).

Thông thường, các liên kết gắn kết nên được loại trừ khỏi các lần duyệt thư mục đệ quy, sao cho mỗi cây thư mục chỉ được duyệt qua một lần, tại vị trí ban đầu. Với bindfs và nullfs, hãy định cấu hình công cụ truyền tải để bỏ qua các loại hệ thống tệp này, nếu có thể. Gắn kết liên kết Linux không thể được nhận ra như vậy: vị trí mới tương đương với bản gốc. Với các liên kết gắn kết Linux hoặc với các công cụ chỉ có thể loại trừ các đường dẫn và không phải các loại hệ thống tệp, bạn cần loại trừ các điểm gắn kết cho các liên kết gắn kết.

Traversals mà dừng lại ở ranh giới hệ thống tập tin (ví dụ như find -xdev, rsync -x, du -x, ...) sẽ tự động dừng lại khi họ gặp phải một bindfs hoặc nullfs gắn kết điểm, bởi vì đó là điểm lắp là một hệ thống tập tin khác nhau. Với các liên kết gắn kết Linux, tình hình phức tạp hơn một chút: chỉ có một ranh giới hệ thống tập tin nếu gắn kết liên kết đang ghép một hệ thống tập tin khác, chứ không phải nếu nó đang ghép một phần khác của cùng một hệ thống tập tin.

Vượt ra ngoài gắn kết

Gắn kết cung cấp một cái nhìn của cây thư mục ở một vị trí khác nhau. Họ trưng ra các tệp giống nhau, có thể với các tùy chọn gắn kết khác nhau và (với các ràng buộc) quyền sở hữu và quyền khác nhau. Các hệ thống tệp hiển thị chế độ xem thay đổi của cây thư mục được gọi là hệ thống tệp lớp phủ hoặc hệ thống tệp có thể xếp chồng . Có nhiều hệ thống tập tin lớp phủ khác thực hiện các biến đổi nâng cao hơn. Dưới đây là một vài cái phổ biến. Nếu trường hợp sử dụng mong muốn của bạn không được đề cập ở đây, hãy kiểm tra kho lưu trữ của các hệ thống tập tin FUSE .

Lọc các tập tin hiển thị

  • clamfs - chạy các tệp thông qua trình quét vi-rút khi chúng được đọc
  • bộ lọc - ẩn các phần của hệ thống tập tin
  • rofs - một chế độ xem chỉ đọc. Tương tự như bindfs -r, chỉ nhẹ hơn một chút.
  • Gắn kết liên kết - trình bày nhiều hệ thống tệp (được gọi là các nhánh ) trong một thư mục duy nhất: nếu tree1chứa footree2chứa barthì chế độ xem liên kết của chúng chứa cả hai foobar. Các tệp mới được ghi vào một nhánh cụ thể hoặc tới một nhánh được chọn theo các quy tắc phức tạp hơn. Có một số triển khai của khái niệm này, bao gồm:

Sửa đổi tên tệp và siêu dữ liệu

  • ciopfs - tên tệp không phân biệt chữ hoa chữ thường (có thể hữu ích để gắn kết hệ thống tệp Windows)
  • confmvfs - chuyển đổi tên tệp giữa các bộ ký tự ( ví dụ )
  • posixovl - lưu trữ tên tệp Unix và siêu dữ liệu khác (quyền, quyền sở hữu, trên mạng) trên các hệ thống tệp bị hạn chế hơn như VFAT ( ví dụ )

Xem nội dung tập tin đã thay đổi

Sửa đổi cách lưu trữ nội dung

  • chironfs - sao chép các tệp vào nhiều bộ lưu trữ bên dưới ( RAID-1 ở cấp cây thư mục )
  • copyfs - giữ bản sao của tất cả các phiên bản của tệp
  • encfs - mã hóa tập tin
  • pcachefs - lớp bộ nhớ cache trên đĩa cho các hệ thống tập tin từ xa chậm
  • Simplecowfs - lưu trữ các thay đổi thông qua chế độ xem được cung cấp trong bộ nhớ, giữ nguyên các tệp gốc
  • wayback - giữ bản sao của tất cả các phiên bản của tập tin

1
người ta có thể muốn thêm một ví dụ về cách thực hiện với systemd: utcc.utoronto.ca/~cks/space/blog/linux/SystemdBindMountUnits
dothebart

1
Không gì mount --bind /dir1 /dir1làm gì? Nó khác với trường hợp nguồn và mục tiêu lắp khác nhau như thế nào?
Đánh dấu

Tôi không thấy bất kỳ bản ghi nào trong / Proc / self / mountinfo, sử dụng linux 5.0. Hạt nhân không cho tôi biết nó có liên kết hay không. Và một quá trình có thể dễ dàng phá vỡ chroot, việc cách ly phải được thực hiện bằng không gian tên mount.
炸鱼 薯条 德里克

@ 炸鱼 薯条 Tôi nghĩ rằng câu hỏi được liên kết unix.stackexchange.com/questions/295525/ địa chỉ /proc/self/mountinfo. Đối với chroot, nó có thể được sử dụng để cách ly, nhưng không phải cho riêng mình. Bạn không cần không gian tên mount mặc dù: chroot là đủ cho phần không gian tên hệ thống tập tin. Bạn cần đảm bảo rằng không có quá trình nào trong chroot chạy với cùng một người dùng như một quá trình bên ngoài chroot.
Gilles

@Mark Gắn kết một thư mục vào chính nó không hữu ích lắm. Tôi đoán bạn có thể sử dụng nó để ẩn các hệ thống tập tin được gắn trong một thư mục nhất định, nhưng tôi không thể nghĩ đến thời điểm mà tôi muốn làm điều đó một cách cụ thể.
Gilles

-1

Đơn giản, khi bạn sử dụng liên kết gắn kết, một tệp hoặc thư mục trên máy chủ được gắn vào một thùng chứa để mọi thay đổi bên trong thư mục tệp trên máy chủ sẽ tự động có sẵn trong vùng chứa trên thư mục.


Đó là một trong những cách để sử dụng gắn kết liên kết, nhưng bản thân gắn kết không liên quan gì đến container. Tôi đề cập đến nó trong câu trả lời của mình, nhưng dưới cái tên là Cameron jail phạt chứ không phải là container container; thêm vào container container, sẽ là một chỉnh sửa có giá trị (tôi sẽ thực hiện). Đây cũng là một mô tả nghèo nàn: tại sao đề cập rằng những thay đổi được thực hiện bên ngoài cũng có sẵn bên trong mà không đề cập đến cách khác?
Gilles
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.