LXC 2.x를 사용하여 게스트에 호스트 폴더를 마운트하는데 읽기 전용인가요?

LXC 2.x를 사용하여 게스트에 호스트 폴더를 마운트하는데 읽기 전용인가요?

알아채다:이 문제는 다음과 직접적인 관련이 있습니다.이것특히이 답변, 하지만 중복된 내용은 아닙니다.

게스트와 호스트의 폴더를 공유하고 싶지만 게스트의 루트 디렉터리가 실수로 폴더에 쓰지 않도록 하세요.

/toolchains제 경우에는 폴더가 호스트와 게스트 모두에 있습니다. 여기에는 다양한 플랫폼을 위한 많은 GCC 기반 툴체인이 포함되어 있습니다.

이제 공유 자체는 간단합니다.

lxc config device add CONTAINER toolchains disk source=/toolchains path=toolchains

기술적으로는 바인드 설치인 것으로 보입니다. 그러나 읽기 전용으로 만들기 위해 컨테이너 내부에 다시 ​​마운트하면 실패합니다.

# mount -o remount,ro /toolchains
mount: cannot mount /dev/sda1 read-only

불행히도 이는 매우 자세한 정보를 제공하지 않습니다.

좋은 측정을 위해 다음 대안도 시도했습니다.

# mount -o remount,ro,bind /toolchains
mount: cannot mount /dev/sda1 read-only

아래에 mount(8)언급됨mount --bind,ro foo foo

내가 원하는 것을 달성하려면 어떤 옵션이 있어야 합니까? 즉, 호스트 폴더는 읽기 전용 모드에서 게스트와 공유됩니다. 여기에서 일종의 연합 FS를 사용해야 할까요, 아니면 읽기 전용 마운트를 얻을 수 있는 유일한 기회인가요? 1.) CIFS 공유를 사용하거나 2.) 일부 후크를 사용하여 다음 mount명령을 통해 호스트 폴더를 게스트 루트에 바인드 마운트합니다. 주인?

LXC 2.20을 사용하고 있습니다.

답변1

호스트에서 디렉터리를 읽기 전용으로 바인드 마운트한 다음 이를 LXC 컨테이너와 공유하면 어떻게 되나요?

mount --bind /toolchains /toolchains-ro
mount -o remount,ro,bind /toolchains-ro
lxc config device add CONTAINER toolchains disk source=/toolchains-ro path=toolchains

기술적으로 호스트 수준에서 읽기 전용인 모든 항목은 컨테이너에서 읽기 전용으로 유지되어야 합니다.

관련 정보