Como colocar imagens do Docker ontop de um compartilhamento NFS no CoreOS?

2

Eu instalei o CoreOS que, por padrão, usa um dispositivo de loopback com tamanho de 100GB e eu alcancei esse limite com muita facilidade.

Minha primeira idéia foi colocar todas as imagens em cima do meu NAS usando o NFS simplesmente montando-o na parte superior do diretório /var/lib/docker , sem sucesso algum.

Agora, encontrei este artigo e parece que o docker cria um dispositivo de bloco no De qualquer forma, em cima de qualquer tipo de armazenamento, a fim de usar seus instantâneos CoW e é provavelmente por isso que eu não tive sucesso na minha primeira cena simplesmente montando o compartilhamento NFS no topo do diretório de imagens. Isso meio que me assusta. Por que não usar o NFS puro com instantâneos nativos do armazenamento? Espero que haja uma boa explicação para isso. De qualquer forma eu preciso fazer essa coisa louca. Sou novo em docker e CoreOS e não sei como fazer isso corretamente. Então a questão é: Como montar um compartilhamento NFS e usá-lo para todas as imagens no CoreOS?

    
por BBK 15.03.2016 / 10:28

1 resposta

1

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.

    
por 15.03.2016 / 20:08