Boas notícias, você não é a primeira pessoa com a necessidade de fazer isso . O Docker não pode usar o NFS direto porque precisa de suporte para atributos estendidos (xttrs) para poder armazenar opções como recursos de kernel, contexto do SELinux, etc. Falsificando as coisas usando o mapeador de dispositivos para criar um dispositivo de bloco virtualizado no armazenamento remoto fornecendo os mecanismos de kernel necessários para utilizar o Docker por meio de um mecanismo secundário. Embora isso possa ser configurado por meio da opção dm.loopdatasize
, como eles indicar explicitamente na página do Docker "Note: This option configures devicemapper loopback, which should not be used in production.".
No final, isso se resume aos requisitos do armazenamento subjacente. O Docker está apenas usando mecanismos fornecidos pelo kernel e não fazendo mágica por conta própria.