Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

418
Vistas
Docker-Compose: ¿cómo mapear el volumen del host al contenedor?

El problema:

Me gustaría compartir una carpeta del host docker con un contenedor específico usando docker-compose. Un contenedor que ejecuta MongoDB debe colocar sus archivos de datos en /var/lib/mongodb, pero esta carpeta debe montarse en la carpeta de hosts /var/lib/mongodb.

Pero sigue siendo un directorio local propio dentro del contenedor, no el compartido del host.

A veces también termina con la siguiente advertencia:

ADVERTENCIA: El servicio "mongodb" está utilizando el volumen "/var/lib/mongodb" del contenedor anterior. La asignación de host "name_dbvolume" no tiene efecto. Elimine los contenedores existentes (con docker-compose rm mongodb ) para usar la asignación de volumen de host.

docker-compose.yml

 version: '2' services: loopback: build: . expose: - "80" - "443" - "28015" - "29015" ports: - 3000:3000 links: - mongodb environment: VIRTUAL_HOST: api.xxxxxx.com VIRTUAL_PORT: 3000 LETSENCRYPT_EMAIL: yyyyyy@xxxxxxx.com LETSENCRYPT_HOST: api.xxxxx.com mongodb: build: ./MongoDB ports: - "27017:27017" - "27018:27018" - "27019:27019" - "28017:28017" volumes: - dbvolume:/var/lib/mongodb volumes: dbvolume:

Dockerfile para MongoDB-Container:

 FROM mongo:latest RUN mkdir -p /var/lib/mongodb && \ touch /var/lib/mongodb/.keep && \ chown -R mongodb:mongodb /var/lib/mongodb ADD mongodb.conf /etc/mongodb.conf VOLUME [ "/var/lib/mongodb" ] # EXPOSE 27017 USER mongodb WORKDIR /var/lib/mongodb ENTRYPOINT ["/usr/bin/mongod", "--config", "/etc/mongodb.conf"] CMD ["--quiet"]

El contenedor mongodb está configurado para que MongoDB use /var/lib/mongodb como directorio de datos. Con el siguiente comando intentamos usar esta carpeta desde el host:

VOLUMEN [ "/var/lib/mongodb" ]

¿Qué hice mal aquí?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Su configuración de redacción configura un volumen de datos con nombre llamado dbvolume

Un volumen con nombre se almacenará en /var/lib/docker de forma predeterminada:

 → docker volume inspect dbvolume [ { "Driver": "local", "Labels": null, "Mountpoint": "/var/lib/docker/volumes/dbvolume/_data", "Name": "dbvolume", "Options": {}, "Scope": "local" } ]

Montar un directorio de host como un volumen es ligeramente diferente en un archivo de composición.

 volumes: - /var/lib/mongodb:/var/lib/mongodb

La fuente todavía está a la izquierda, pero especifica la ruta completa en lugar de un nombre.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda