Docker: Volúmenes
Cómo persistir los datos de tus contenedores con volúmenes de Docker
Bienvenido a la documentación de Stackhero
Stackhero ofrece una plataforma Docker cloud CaaS (Containers as a Service) lista para usar, diseñada para despliegues de contenedores rápidos y fiables:
- Despliegue en producción con un simple
docker-compose up. No necesita configuración adicional: simplemente inicie sus contenedores.- Elija su propio nombre de dominio, asegurado automáticamente con HTTPS (por ejemplo: https://api.su-empresa.com, https://www.su-empresa.com o https://backoffice.su-empresa.com).
- Disfrute de un alto rendimiento y una seguridad robusta sobre infraestructura privada y dedicada.
- Aplique actualizaciones con un solo clic para un mantenimiento sencillo y sin complicaciones.
Puede tener sus contenedores en producción en unos cinco minutos. Stackhero gestiona la infraestructura, las actualizaciones y la seguridad por usted, para que pueda centrarse en el desarrollo de sus aplicaciones. Lea más sobre el alojamiento cloud Docker CaaS.
Por diseño, los contenedores de Docker son efímeros. Esto significa que cualquier dato almacenado directamente en ellos se perderá cuando el contenedor sea eliminado o reemplazado por otra instancia. Para asegurar la persistencia de los datos, los volúmenes de Docker son el enfoque recomendado.
No utilice montajes de enlace de Docker
alerta No utilice montajes de enlace en Stackhero. Opte siempre por volúmenes de Docker para evitar la pérdida de datos.
Los montajes de enlace implican vincular un directorio de la VM host de Stackhero a un contenedor. Sin embargo, si confía en los montajes de enlace, actualizar su instancia de Stackhero for Docker resultará en la pérdida de todos los datos almacenados de esta manera.
Los montajes de enlace se especifican comúnmente en el comando docker run con una sintaxis como -v /miDirectorio:/mnt (note el / inicial). En los archivos de Docker Compose, aparecen como volumes: /miDirectorio:/mnt. Prohíba estas configuraciones o perderá sus datos.
En su lugar, use volúmenes de Docker, que son gestionados por Docker y no hacen referencia a rutas absolutas.
Para resumir:
Enfoque incorrecto:
docker run -it -v /miDirectorio:/mnt alpine
Enfoque correcto:
docker volume create miVolumen
docker run -it -v miVolumen:/mnt alpine
Al trabajar con archivos de Docker Compose:
Configuración incorrecta:
services:
miServicio:
image: alpine
volumes:
- /miDirectorio:/mnt
Configuración correcta:
services:
miServicio:
image: alpine
volumes:
- miVolumen:/mnt
volumes:
miVolumen:
name: miVolumen
Comandos útiles para volúmenes de Docker
Aquí tiene una referencia rápida para gestionar volúmenes de Docker:
-
Para crear un nuevo volumen llamado
miVolumen, ejecute:docker volume create miVolumen -
Para listar todos los volúmenes existentes:
docker volume ls -
Para eliminar un volumen específico llamado
miVolumen:docker volume rm miVolumenadvertencia Nota: Eliminar un volumen eliminará permanentemente todos los datos almacenados en él, y no hay forma de recuperarlos posteriormente.