Conceptos básicos de Docker: use los montajes tmpfs para administrar los datos de la aplicación

Los volúmenes (volúmenes) y los montajes de enlace (montajes de enlace) le permiten compartir archivos entre el host y el contenedor, de modo que incluso después de que el contenedor también pueda detener el almacenamiento persistente de datos.

Si está ejecutando Docker en Linux, hay una tercera opción: tmpfsmontar. Cuando crea con tmpfsel montaje del contenedor, el contenedor puede crear archivos en la capa de escritura fuera del contenedor.

A diferencia de los volúmenes y los montajes de enlace, los tmpfsmontajes son temporales y solo permanecen en la memoria del host. Cuando el contenedor se detiene, el tmpfsmontaje se eliminará y los archivos escritos allí no se conservarán.

docker-tipos-de-montajes-tmpfs

Esto es útil para almacenar temporalmente archivos confidenciales que no desea almacenar de manera persistente en la capa de escritura del host o del contenedor.

Limitaciones del montaje tmpfs

  • A diferencia de los montajes de volumen y enlace, no se puede compartir entre los contenedores tmpfsmontados.
  • Esta función solo está disponible cuando Docker se ejecuta en Linux.

Seleccionar --tmpfso --mountmarcar

Inicialmente, las --tmpfsetiquetas se usaban para contenedores independientes y las --mountetiquetas se usaban para servicios de clúster. Pero a partir de Docker 17.06, también se puede --mountusar junto con un contenedor separado. Por lo general, la --mountexpresión de la marca es más clara y detallada. La mayor diferencia es que la --tmpfsetiqueta no admite ninguna opción configurable.

  • --tmpfs: Establecer el tmpfsmontaje no le permite especificar ninguna opción de configuración y solo se puede usar con un contenedor separado.
  • --mount: Una pluralidad de claves - cada clave valor se empareja ,, - valor par por una <key>=<value>de las tuplas. --mountLa sintaxis que la --tmpfsmás detallada:
    • El tipo de montaje ( type), que puede ser bind, volumeo tmpfs. Este tema se discute tmpfs, por lo que el tipo ( type) es siempre tmpfs.
    • Target ( destination), la tmpfsruta de la embarcación se proporciona para montar como su valor. Se puede utilizar destination, dsto targetespecificar.
    • tmpfs-sizeY tmpfs-modeopciones. Vea a continuación las opciones de tmpfs especificadas .

El siguiente ejemplo muestra lo más simultáneamente posible --mounty las --tmpfsdos sintaxis, y el primer show --mount.

--tmpfsY --mountla diferencia entre el comportamiento

  • --tmpfs La etiqueta no permite especificar ninguna opción configurable.
  • --tmpfsLa etiqueta no se puede utilizar para servicios de clúster. Para los servicios de clúster, debe usar --mount.

Montar usando tmpfs en el contenedor

Para ser utilizado en el tmpfssoporte de contenedor , use la --tmpfsmarca, o con la marca de uso type=tmpfsy destinationopciones --mount. No se utiliza para el tmpfsmontaje de fuente ( source).

El siguiente ejemplo de contenedor Nginx /apppara crear un tmpfsmontaje. El primer ejemplo usa una --mountmarca, usando un segundo --tmpfsmarcador.

--mount

$ docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app \
  nginx:latest

--tmpfs

$ docker run -d \
  -it \
  --name tmptest \
  --tmpfs /app \
  nginx:latest

Ejecutando docker container inspect tmptestpara verificar que el soporte está tmpfsmontado para ver la Mountssección:

"Tmpfs": {
    
    
    "/app": ""
},

Eliminar el contenedor:

$ docker container stop tmptest

$ docker container rm tmptest

Especificar opciones de tmpfs

tmpfsEl montaje permite dos opciones de configuración, ninguna de las cuales es necesaria. Si necesita especificar estas opciones, debe usar la --mountmarca, porque la --tmpfsmarca no es compatible.

Opciones descripción
tmpfs-size El tamaño del montaje tmpfs (en bytes). No hay límite por defecto.
tmpfs-mode El modo de archivo octal de tmpfs. Por ejemplo, 700o 0770. Predeterminado 1777o grabable.

El siguiente ejemplo tmpfs-modese proporciona a 1770, y por lo tanto en su envase no es legible global.

docker run -d \
  -it \
  --name tmptest \
  --mount type=tmpfs,destination=/app,tmpfs-mode=1770 \
  nginx:latest

Autor:
Traductor oficial del sitio web de Docker : Technical Zemin
Editor: Technical Verses
enlaces: texto en inglés

Supongo que te gusta

Origin blog.csdn.net/weixin_47498376/article/details/107754163
Recomendado
Clasificación