참고:이 질문은 다음과 직접적으로 관련됩니다.이 하나그리고 특히이 답변, 하지만 중복된 내용은 아닙니다.
호스트의 폴더를 게스트와 공유하고 싶지만 게스트의 루트가 실수로 해당 폴더에 쓸 수 없도록 해야 합니다.
내 경우 폴더는 /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
기술적으로 호스트 수준에서 읽기 전용인 모든 항목은 컨테이너에서도 읽기 전용으로 유지되어야 합니다.