GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Volúmenes NFS Docker:Cómo crear y usar

Introducción

Los volúmenes de Docker son el mecanismo preferido para configurar el almacenamiento persistente para sus contenedores de Docker. Los volúmenes son directorios existentes en el sistema de archivos del host montados dentro de un contenedor. Se puede acceder a ellos tanto desde el contenedor como desde el sistema host.

Docker también permite a los usuarios montar directorios compartidos a través del sistema de intercambio de archivos remoto NFS. Los volúmenes creados para este fin utilizan el propio controlador NFS de Docker, lo que elimina la necesidad de montar el directorio NFS en el sistema host.

Este tutorial le mostrará cómo crear y usar volúmenes NFS Docker.

Requisitos previos

  • Servidor NFS instalado y configurado en la máquina remota.
  • Docker instalado en la máquina local.
  • Una cuenta de usuario con privilegios de root/sudo.

Crear volumen acoplable NFS

La forma más sencilla de crear y administrar volúmenes de Docker es usar el docker volume comando y sus subcomandos.

La sintaxis para crear un volumen NFS Docker incluye dos opciones.

  1. El --driver La opción define el local controlador de volumen, que acepta opciones similares al mount comando en Linux.
  2. El --opt La opción se llama varias veces para proporcionar más detalles sobre el volumen.

Los detalles incluyen:

  • El tipo de volumen.
  • El modo de escritura.
  • La dirección IP o web del servidor NFS remoto.
  • La ruta al directorio compartido en el servidor.
docker volume create --driver local \
  --opt type=nfs \
  --opt o=addr=[ip-address],rw \
  --opt device=:[path-to-directory] \
  [volume-name]

El siguiente ejemplo ilustra la creación de un volumen NFS Docker llamado nfs-volume . El volumen contiene el /mnt/nfsdir directorio ubicado en el servidor, con el rw (lectura/escritura) permiso. La dirección IP del servidor es 10.240.12.70 .

El comando ejecutado con éxito genera el nombre del volumen.

Enumere los volúmenes de Docker disponibles.

docker volume ls

La salida enumera el volumen que creó.

Inspeccione el volumen con inspect subcomando.

docker volume inspect [volume-name]

La salida muestra la configuración del volumen.

Montar NFS en un contenedor

Para montar el volumen NFS en un contenedor, instale el nfs-common paquete en el sistema host.

Comience por actualizar los repositorios.

sudo apt update

Use APT para instalar nfs-common paquete.

sudo apt install nfs-common

Confirme que desea instalar el paquete y espere a que finalice la instalación.

Utilice el comando docker run para iniciar el contenedor. Especifique el volumen NFS y el punto de montaje en --mount sección.

docker run -d -it \
  --name [container-name] \
  --mount source=[volume-name],target=[mount-point]\
  [image-name]

El siguiente ejemplo monta el volumen NFS llamado nfs-volume al /mnt directorio en el contenedor.

Confirme que el volumen se montó con éxito utilizando docker inspect comando.

docker inspect [container-name]

Las Mounts La sección de la salida contiene los volúmenes montados en el contenedor.

Ingrese el shell bash del entorno del contenedor con docker exec :

docker exec -it [container-name] /bin/bash

Enumere el contenido del /mnt directorio.

ls /mnt

El resultado muestra los archivos alojados en /mnt/nfsdir directorio en el servidor.

Si crea un archivo dentro del contenedor Docker, también se podrá acceder a él en el directorio original del servidor. Para probar, use el comando táctil para crear un archivo vacío en /mnt directorio.

touch /mnt/docker1.txt

En el servidor, navegue hasta el directorio que compartió y enumere su contenido. Aparece el archivo creado en el contenedor Docker.

Montar volúmenes NFS con Docker Compose

Si usa Docker Compose para administrar sus contenedores, monte el volumen NFS definiéndolo en el archivo YML.

Cree el archivo YML.

nano docker-compose.yml

Defina el volumen NFS en volumes sección.

version: "3.2"

services:
  [service-name]:
    image: [docker-image]
    ports:
      - "[port]:[port]"

    volumes:
      - type: volume
        source: [volume-name]
        target: /nfs
        volume:
          nocopy: true
volumes:
  [volume-name]:
    driver_opts:
      type: "nfs"
      o: "addr=[ip-address],nolock,soft,rw"
      device: ":[path-to-directory]"

Cree e inicie el contenedor con docker-compose up comando.


Ubuntu
  1. Cómo configurar y usar el registro privado de Docker

  2. Volúmenes de Docker:Cómo crear y comenzar

  3. Cómo crear y usar subdominios

  4. Cómo instalar y usar Docker en Ubuntu 20.04

  5. ¿Qué son los volúmenes de Docker y cómo se usan?

Cómo instalar y usar Docker Compose en Debian 9

Cómo instalar y usar Docker-Compose en CentOS 7

Cómo crear y usar datos personalizados en Ansible

Cómo crear y usar un archivo de intercambio en Linux

Cómo instalar y usar Docker en Ubuntu 22.04

Cómo instalar y usar Docker en AlmaLinux 8