¿Qué son?
En la documentación de docker (http://docs.docker.com/storage/volumes/), nos indican lo siguiente:
Volumes are the preferred mechanism for persisting data generated by and used by Docker containers. While bind mounts are dependent on the directory structure of the host machine, volumes are completely managed by Docker.
Podemos crear un volumen compartido, para qué uno o varios contenedores, puedan acceder a una ruta del host de docker.
Para crear el volumen, ejecutamos el siguiente comando:
docker volume create aplicaciones
Ejecutamos el siguiente comando, para verificar que está creado correctamente y la ruta donde está:
docker volume inspect aplicaciones
MountPoint, es la ruta local donde está el volumen creado.
Para que los contenedores usen este volumen, tenemos que agregar, en la línea de comandos de ejecución de contenedores, lo siguiente:
-v aplicaciones:/Apps
Así, todos los contenedores, tendrán accesible todo lo que dejemos en esta ruta y no perderán los datos, al reiniciarlos y/o apagarlos.