Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

191
Visualizações
El contenido del volumen de Docker no persiste

Estoy tratando de capturar el estado de un contenedor docker como una imagen, de manera que incluya los archivos que he agregado a un volumen dentro del contenedor. Entonces, si ejecuto el contenedor original de esta manera:

 $ docker run -ti -v /cookbook ubuntu:14.04 /bin/bash root@b78f3599d936:/# cd cookbook root@b78f3599d936:/cookbook# touch foo.txt

Ahora, si exporto o confirmo el contenedor como una nueva imagen acoplable y luego ejecuto un contenedor desde la nueva imagen, entonces el archivo foo.txt nunca se incluye en el directorio / libro de cocina.

Mi pregunta es si hay una forma de crear una imagen a partir de un contenedor de manera que permita que la imagen incluya contenido de archivo dentro de sus volúmenes.

about 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Bueno, al poner los cambios en un volumen, los está excluyendo del contenedor real. La documentación para la exportación de Docker incluye esto:

El comando docker export no exporta el contenido de los volúmenes asociados con el contenedor. Si un volumen se monta encima de un directorio existente en el contenedor, la exportación de docker exportará el contenido del directorio subyacente, no el contenido del volumen.

Consulte Copia de seguridad, restauración o migración de volúmenes de datos en la guía del usuario para ver ejemplos de cómo exportar datos en un volumen.

Esto apunta a esta documentación . Siga los pasos allí para exportar la información almacenada en el volumen.

Probablemente estés buscando algo como esto:

 docker run --rm --volumes-from <containerId> -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /cookbook

Esto crearía un archivo backup.tar con el contenido del directorio /cookbook de recetas del contenedor y lo almacenaría en el directorio actual del host. Luego podría usar este archivo tar para importarlo en otro contenedor.

about 4 years ago · Santiago Trujillo Relatório

0

si hay una manera de crear una imagen a partir de un contenedor de manera que permita que la imagen incluya contenido de archivo dentro de sus volúmenes?

No, debido a que el volumen está diseñado para administrar datos dentro y entre sus contenedores Docker, se usa para conservar y compartir datos. Lo que está en la imagen suele ser su programa (artefactos, ejecutables, librerías, por ejemplo) con todo su entorno, construir/actualizar datos a la imagen no tiene mucho sentido.

Y en documentos de volúmenes , nos dijeron:

  • Los cambios en un volumen de datos no se incluirán cuando actualice una imagen.

También en documentos de docker commit :

  • La operación de confirmación no incluirá ningún dato contenido en los volúmenes montados dentro del contenedor.
about 4 years ago · Santiago Trujillo Relatório

0

Esencialmente, hay tres formas de hacer persistencia en Docker:

  1. Puede guardar archivos en un volumen, que es un sistema de archivos administrado por Docker. Esto es lo que sucede en su ejemplo: debido a que el directorio /cookbook de recetas es parte de un volumen, su archivo no se compromete/exporta con la imagen. Sin embargo, se almacena en el volumen, por lo que si vuelve a montar el mismo volumen en un contenedor diferente, encontrará su archivo allí. Puede listar sus volúmenes usando docker volume ls . Como puede ver, probablemente debería dar nombres a sus volúmenes si planea reutilizarlos. Puede montar un volumen existente o crear uno nuevo, si el nombre no existe, con

    docker run -v name:/directory ubuntu

  2. Puede conservar los archivos como parte de la imagen. Si confirma el contenedor, todos los cambios en su jerarquía de archivos se almacenan en la nueva imagen, excepto los realizados en los volúmenes montados. Entonces, si simplemente se deshace del indicador -v , su archivo aparece en la confirmación.

  3. Puede vincular el montaje de un directorio desde la máquina host al contenedor mediante la sintaxis -v /hostdir:/targetdir . El contenedor simplemente tiene acceso a un directorio de la máquina host.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda