Observação:Esta questão está diretamente relacionadaEstee em especial paraesta resposta, mas não é uma duplicata.
Gostaria de compartilhar uma pasta do host com o convidado, mas certifique-se de que a raiz do convidado não possa gravar acidentalmente nessa pasta.
A pasta no meu caso é /toolchains
, tanto no host quanto no convidado. E contém uma série de conjuntos de ferramentas baseados em GCC usados para atingir diferentes plataformas.
Agora o compartilhamento em si é trivial:
lxc config device add CONTAINER toolchains disk source=/toolchains path=toolchains
Tecnicamente, parece ser uma montagem vinculada. No entanto, dentro do contêiner, uma remontagem para torná-lo somente leitura falha:
# mount -o remount,ro /toolchains
mount: cannot mount /dev/sda1 read-only
Infelizmente, isso não fornece um grande nível de detalhe.
Para garantir, também tentei esta alternativa:
# mount -o remount,ro,bind /toolchains
mount: cannot mount /dev/sda1 read-only
que foi mencionado mount(8)
em mount --bind,ro foo foo
...
Que opções tenho para alcançar o que desejo? Ou seja, compartilhe a pasta Host como somente leitura com o convidado. Devo usar algum tipo de união FS aqui ou é minha única chance real de obter uma montagem somente leitura para 1.) usar um compartilhamento CIFS ou 2.) usar algum gancho para montar a pasta Host por meio do mount
comando do Host no raiz convidada?
Estou usando o LXC 2.20.
Responder1
O que acontece se você montar seu diretório somente leitura no host e depois compartilhá-lo com o contêiner 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
Tecnicamente, tudo o que é somente leitura no nível do host deve permanecer somente leitura no contêiner.