Gostaria de montar uma pasta compartilhada do VMware em um local diferente do padrão.
O caminho de montagem padrão para pastas compartilhadas no convidado Linux a partir do VMware Workstation 15 (2023) é:/mnt/hfgs/[shared_folder_name]/
Meu objetivo final é disponibilizar a pasta do docker no host como uma pasta compartilhada:/var/lib/docker/
Tentei:
1.
mount --bind /var/lib/docker/ /mnt/hgfs/[shared_folder_name]/
mount --bind /mnt/hgfs/[shared_folder_name]/ /var/lib/docker/
O mount
comando não retornou erro, mas nada pareceu mudar.
2.
Como já tive que modificar /etc/fstab
para que o padrão /mnt/hfgs/[shared_folder_name]/
funcionasse, tive outra ideia. Renomeei a pasta compartilhada para "docker" e modifiquei a linha relevante a partir /etc/fstab
desta:
vmhgfs-fuse /mnt/hgfs fuse defaults,allow_other,_netdev 0 0
para isso:
vmhgfs-fuse /var/lib fuse defaults,allow_other,_netdev 0 0
No entanto, ele "substituiu" todo o arquivo /var/lib
, a única pasta visível dentro dele foi a pasta compartilhada[1] que chamei de docker. Embora esta segunda opção provavelmente pudesse funcionar se eu copiasse tudo /var/lib
, fizesse a alteração e copie tudo de volta, parece muito hackeado (e possivelmente o VMware os removeria de qualquer maneira, porque as outras pastas para as quais copiei de volta /var/lib
não seriam adequadas pastas partilhadas).
[1]: Observação sobre como as pastas compartilhadas do VMware parecem funcionar:
Se no Linux convidado eu definir o caminho para /etc/fstab
, /example
toda a example
pasta será "sobrescrita" (não acessível) e as pastas compartilhadas ficarão disponíveis como /example/shared1
, /example/shared2
, etc.
Consulte https://kb.vmware.com/s/article/60262 .
Se você tiver o open-vm-tools instalado, é mais fácil usar um terminal para executar:
Observe que a montagem
/var/lib
ocultará o conteúdo antigo de/var/lib
, o que é válido para a montagem em geral, portanto, você deve montar em um subdiretório. Por exemplo:Observe que o acima espera
/var/lib/docker
ser um diretório existente e é usado,sudo
pois são necessários privilégios de root para montar em/var/lib
. A-o allow_other
opção mount permite que usuários não root acessem a montagem.Alternativamente, você sempre pode simplesmente montar a pasta compartilhada em qualquer lugar e, em vez disso, criar um
/var/lib/docker
link simbólico para apontar para esse local de montagem, por exemplo: