Verifiqué que estos datos se almacenan en la máquina virtual boot2docker (creada por docker-machine) y no en el contenedor, por lo que persistirán.Sin embargo, "docker-machine restart" borra estos datos personalizados en la máquina virtual.
No encuentro documentación de lo que está pasando. Encontré una publicación en el foro que menciona que los datos en /var / lib / docker se conservarán, pero no pude encontrar ningún documento oficial que lo indique y también parece extraño teniendo en cuenta que la guía de almacenamiento persistente anterior no usa esta ruta o incluso menciona que sus datos se eliminarán.
¿Se espera esto y, de ser así, existe documentación oficial sobre la ruta correcta para almacenar datos persistentes?
Editar: Agregar ejemplo de senario fallido
$ docker-machine ssh altdocker@alt:~$ docker run -v /data:/var/lib/mysql --name mydata busybox sh -c "echo 'hello' > /var/lib/mysql/hello"docker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"hellodocker@alt:~$ exit$ docker-machine restart altStarting VM...$ docker-machine ssh altdocker@alt:~$ docker run --rm --volumes-from mydata busybox sh -c "cat /var/lib/mysql/hello"cat: can't open '/var/lib/mysql/hello': No such file or directory
No uso boot2docker, pero si /data se borra al reiniciar, ahí es donde se almacena su volumen (docker run -v /data:/var/lib/mysql), por lo que se perderá.
Lo que está haciendo también es combinar dos patrones diferentes para manejar la persistencia del volumen. Para obtener persistencia, los contenedores pueden montar volúmenes desde una ubicación específica en el sistema host (que se presume que es persistente), o pueden asociarse con un contenedor de datos y montarse con --volumes-from. Parece que el enfoque del sistema de archivos host no es apropiado para boot2docker, y debe usar el patrón de volumen de datos (solo).
Presumiblemente, debería crear su contenedor de datos con -v /var/lib/mysql en lugar de -v /data:/var/lib/mysql.
Tenga en cuenta que estoy usando docker para Mac beta, que usa la máquina virtual xhyve.
El contenido de /var / lib / boot2docker se conservará entre máquinas restarts.So si desea que ciertos archivos estén disponibles en su máquina virtual, colóquelos en este directorio.
Si desea que sean accesibles en una ubicación diferente para ejecutar contenedores docker, puede agregar lo siguiente a /var / lib / boot2docker / profile:
Si desea agregar otra configuración a los archivos del sistema que persistirá entre reinicios de vm, como valores adicionales en su archivo de hosts, puede agregar un comando como el que se muestra a continuación a /var / lib / boot2docker / profile: