Executando verificação de segurança...
1

Criando volume NFS no Docker

Volumes do Docker NFS

Introdução

Sabemos que volumes do Docker é uma funcionalidade para podermos persistir dados. Esses volumes são criados no host e montados dentro de um ou mais contêineres.

Sabendo disso, podemos imaginar também que o Docker nos permite usar volumes com diretórios compartilhados, certo? E nesse post veremos com utilizar esses diretórios compartilhados a partir de um servidor de arquivos remoto NFS utilizando o próprio driver do Docker.

Pré-requisitos

  • Servidor NFS instalado e configurado na máquina remota.
  • Docker instalado na máquina local.
  • Uma conta de usuário com privilégios de root/sudo.

Criar Volume Docker NFS

A maneira mais simples de criar e gerenciar volumes do Docker é usando o comando docker volume e seus subcomandos.

A sintaxe para criar um volume NFS Docker inclui duas opções.

--driver

A opção --driver define o local driver de volume, que aceita opções semelhantes ao mount comando no Linux.

--opt

A opção --opt é adicionada varias vezes para detalhar opções do volume.

Os detalhes incluem:

  • O tipo de volume.
  • O modo de gravação.
  • O endereço IP ou nome do servidor NFS remoto.
  • O caminho para o diretório compartilhado no servidor.

Ex:

docker volume create --driver local \
  --opt type=nfs \
  --opt o=addr=server-nfs,rw \
  --opt device=:/opt/tabnews \
  tabnews

O comando acima ilustra a criação de um volume NFS Docker chamado tabnews. O volume contém o diretório /opt/tabnews localizado no servidor, com a permissão rw. O endereço IP do servidor é server-nfs

Obs: Verifique sempre se o seu compartilhamento esta criado em /etc/exports no seu servidor NFS

Instalando Cliente NFS

Se sua distribuição usar YUM ou RPM para gerenciamento de pacotes, o pacote do Cliente NFS será:

sudo yum install nfs-utils -y

Se sua distribuição usar APT ou DEB para gerenciamento de pacotes, o pacote do Cliente NFS será:

sudo apt install nfs-common -y

Montando o Volume NFS no Container

Usando o comando abaixo, iremos criar um container chamado blog e vamos montar o nosso volume NFS blog-4linux criado anteriormente. Iremos usar a flag -v para indicar o mount.

docker run -dit \
  --name ubuntu \
  -v tabnews:/opt \
  ubuntu

Para validar o nosso volume iremos utilizar o docker exec para criarmos um arquivo em /opt dentro do container e posteriormente verificar se o mesmo sera acessível no servidor NFS.

docker exec -it ubuntu touch /opt/criandovolume.txt

Obs: Se você criar um arquivo dentro do Servidor NFS, ele também estará acessível no diretório do container. Para testar, use o comando touch também para criar um arquivo vazio no /opt/tabnews.

Carregando publicação patrocinada...