Welcome to Delicate template
Header
Just another WordPress site
Header

Compartir carpetas en Contenedores (Host to Container)

marzo 17th, 2016 | Posted by cristiansan in 2016 Server | CLI | Containers | Microsoft | PowerShell

En algunas ocasiones seguro te será necesario compartir una carpeta de tu host con tu VM contenedora. Para ello, ejecutaremos el siguiente cmdlet.
Nota: El container debe estar apagado.

Add-ContainerSharedFolder -ContainerName [Nombre_Container] -SourcePath c:\data_source -DestinationPath c:\shared_data

Veamos-lo con un ejemplo. En mi caso he montado un container llamado “Python” dónde quiero instalar pyhton3.

Tras generar mi container con base “WindowsServerCore” y ANTES de arrancar el contenedor, genero una carpeta llamada C:\Docker en mi Host de contenedores. Ahora copia el instalador de Python en la carpeta y tras ello abrimos una consola de PowerShell y ejecutamos:

Add-ContainerSharedFolder -ContainerName Python -SourcePath c:\docker -DestinationPath c:\shared

Ello creara la carpeta C:\Shared en nuestro contenedor, que es un link a nuestra carpeta local C:\Docker en nuestro host de contenedores.

PS C:\docker> Add-ContainerSharedFolder -ContainerName Python -SourcePath c:\Docker -DestinationPath c:\Shared

ContainerName SourcePath DestinationPath AccessMode
------------- ---------- --------------- ----------
Python        c:\Docker  c:\Shared       ReadWrite

Ahora, arrancamos nuestro contenedor con start-container y tras ello accedemos a su Shell.

PS C:\docker> Start-Container python
PS C:\docker> Enter-PSSession -ContainerName Python -runAsAdministrator
[Python]: PS C:\Windows\ServiceProfiles\LocalService\Documents> dir C:\
Directory: C:\
Mode                LastWriteTime         Length Name
d-----       10/30/2015   9:22 AM                PerfLogs
d-r---        3/17/2016   9:56 AM                Program Files
d-----       10/30/2015  10:36 AM                Program Files (x86)
d----l        3/17/2016   9:54 AM                Shared
d-r---       10/30/2015  11:42 AM                Users
d-----       10/30/2015  11:42 AM                Windows

Si queremos saber que carpetas tenemos compartidas con un contenedor en concreto, podemos realizar-lo con el siguiente comando:

PS C:\> Get-ContainerSharedFolder -ContainerName Python

ContainerName SourcePath DestinationPath AccessMode
------------- ---------- --------------- ----------
Python        c:\Docker  c:\Shared       ReadWrite

Para eliminar el Shared, ejecutaremos:

PS C:\> Remove-ContainerSharedFolder -ContainerName Python -SourcePath c:\Docker

Nota: Recordad que el contenedor debe estar parado.

You can follow any responses to this entry through the RSS 2.0 You can leave a response, or trackback.

Leave a Reply

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