Saltar al contenido

Ubicación de volúmenes de datos en Docker Desktop (Windows)

Solución:

Estoy en Windows + WSL 2 (Ubuntu 18.04), Docker v19.03. Encontré mis volúmenes de Docker en esta ubicación, escriba el explorador de archivos de Windows:

\wsl$docker-desktop-dataversion-pack-datacommunitydockervolumes

Tendrá un directorio por volumen.

Su directorio de volumen es /var/lib/docker/volumes/blog_postgres-data/_data, y /var/lib/docker generalmente montado en C:UsersPublicDocumentsHyper-VVirtual hard disks. De todos modos, puede verificarlo mirando en la configuración de Docker.

Puede consultar estos documentos para obtener información sobre cómo compartir unidades con Docker en Windows.

POR CIERTO, Source es la ubicación en el host y Destination es la ubicación dentro del contenedor en el siguiente resultado:

"Mounts": [
{
    "Name": "fac362...80535",
    "Source": "/var/lib/docker/volumes/fac362...80535/_data",
    "Destination": "/webapp",
    "Driver": "local",
    "Mode": "",
    "RW": true,
    "Propagation": ""
}
]

Actualizado para responder preguntas en el comentario:

Mi principal curiosidad aquí es que compartir imágenes, etc. es genial, pero ¿cómo comparto mis datos?

Realmente volume está diseñado para este propósito (administrar datos en el contenedor Docker). Los datos de un volumen se conservan en el FS del host y se aíslan del ciclo de vida de un contenedor / imagen de Docker. Puede compartir sus datos en un volumen:

  • Monte el volumen de Docker para alojarlo y reutilizarlo

    docker run -v /path/on/host:/path/inside/container image

    Entonces todos tus datos persistirán en /path/on/host; puede hacer una copia de seguridad, copiarlo en otra máquina y volver a ejecutar su contenedor con el mismo volumen.

  • Cree y monte un contenedor de datos.

    Cree un contenedor de datos: docker create -v /dbdata --name dbstore training/postgres /bin/true

    Ejecute otros contenedores basados ​​en este contenedor usando --volumes-from: docker run -d --volumes-from dbstore --name db1 training/postgres, luego todos los datos generados por db1 persistirá en el volumen del recipiente dbstore.

Para obtener más información, puede consultar los documentos oficiales de volúmenes de Docker.

Simplemente hablando, volumes es solo un directorio en su host con todos los datos de su contenedor, por lo que puede usar cualquier método que haya utilizado antes para hacer una copia de seguridad / compartir sus datos.

¿Puedo enviar un volumen a la ventana acoplable como lo hago con las imágenes?

No. Un Docker imagen es algo que puede enviar a un concentrador de Docker (también conocido como “registro”); pero los datos no lo son. Puede hacer una copia de seguridad / conservar / compartir sus datos con cualquier método que desee, pero enviar datos a un registro de Docker para compartirlos no tiene ningún sentido.

¿Puedo hacer copias de seguridad, etc.?

Sí, como se publicó anteriormente 🙂

Al ejecutar contenedores basados ​​en Linux en un host de Windows, los volúmenes reales se almacenarán dentro de la VM de Linux y no estarán disponibles en el fs del host; de lo contrario, Windows se ejecutará en Windows => C: ProgramData Docker volume

También docker inspect <container_id> Enumerará la configuración del contenedor, en la sección Montajes, vea más detalles sobre la capa de persistencia.

Actualización: no aplicable para Docker que se ejecuta en WSL.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *