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

519
Visualizações
¿Cómo funcionan los volúmenes con nombre en Docker?

Me cuesta entender cómo funciona exactamente el volumen con nombre en el siguiente ejemplo de docker docs :

 version: "3" services: db: image: db volumes: #1 - data-volume:/var/lib/db backup: image: backup-service volumes: #2 - data-volume:/var/lib/backup/data volumes: data-volume:

Mi conjetura es que la primera aparición del volumen con nombre (# 1) define lo que está contenido dentro del volumen, mientras que las ocurrencias posteriores (# 2) simplemente comparten el contenido del volumen con los contenedores desde los que se hace referencia.

¿Es correcta esta conjetura?

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Listado data-volume: debajo de los volumes: la clave crea un volumen con nombre en el host si aún no existe. Esto se comporta de la siguiente manera según esta fuente

  1. Si crea un volumen con nombre ejecutando un nuevo contenedor desde image by docker run -v my-precious-data:/data imageName , los datos dentro de la imagen/contenedor bajo /data se copiarán en el volumen con nombre.

  2. Si crea otro contenedor vinculado a un volumen con nombre existente, no se copiarán/sobrescribirán archivos de la nueva imagen/contenedor, utilizará los datos existentes dentro del volumen con nombre.

  3. No tienen un comando docker para hacer una copia de seguridad/exportar un volumen con nombre. Sin embargo, puede averiguar la ubicación real del archivo mediante "docker volume inspect [volume-name]".

En caso de que el volumen esté vacío y ambos contenedores tengan datos en el directorio de destino, el primer contenedor que se ejecutará montará sus datos en el volumen y el otro contenedor verá esos datos (y no los suyos). No sé qué contenedor se ejecutará primero (aunque espero que se ejecute de arriba a abajo), sin embargo, puede forzar un pedido con depends_on como se muestra aquí .

------------------- Actualizar

La opción depend_on se ignora cuando se implementa una pila en modo de enjambre con un archivo Compose de la versión 3.

over 4 years ago · Santiago Trujillo Relatório

0

De la forma en que entiendo tu conjetura, no estás completamente en lo cierto.

Declarar y hacer referencia a un volumen con nombre en un archivo docker-compose creará un volumen vacío al que luego podrán acceder y compartir los servicios diciéndolo en su sección de volúmenes.

Si desea compartir un volumen con nombre, debe declarar este volumen en la sección de volumen de nivel superior de su archivo docker-compose. Ejemplo (como en los documentos de la ventana acoplable ya vinculados por usted mismo):

 version: "3" services: db: image: db volumes: #1 uses the named and shared volume 'data-volume' created with #3 - data-volume:/var/lib/db backup: image: backup-service volumes: #2 uses the named and shared volume 'data-volume' created with #3 - data-volume:/var/lib/backup/data volumes: #3 creates the named volume 'data-volume' data-volume:

El volumen estará vacío al inicio (y por lo tanto las carpetas en los contenedores donde se monta ese volumen). Su contenido será el resultado de las acciones de los servicios en tiempo de ejecución.

Espero haberlo dejado un poco más claro.

over 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