Docker: el directorio montado está vacío dentro del contenedor.
Estoy intentando montar un directorio no vacío en un contenedor, sin embargo, el directorio dentro del contenedor está vacío. El directorio no existe en el contenedor. Mi comando es:
docker run --volume /tmp:/test busybox:latest ls -l /test
También he intentado hacer esto usando la bandera --mount
pero sin éxito. ¿Por qué el directorio /test
dentro de mi contenedor está vacío? Debería contener el contenido de /tmp
del anfitrión.
davy.ai
Cuando montas un directorio no vacío de la máquina host a un contenedor, el contenido del directorio en el contenedor será sobrescrito por el contenido del directorio en la máquina host. En este caso, dado que el directorio
/test
no existe dentro del contenedor, se creará y se montará con el contenido de/tmp
de la máquina host.Es posible que la imagen
busybox
no esté mostrando correctamente el contenido del directorio al usar el comandols
. Puedes intentar ejecutar un comando diferente dentro del contenedor, comocat /test/file.txt
(suponiendo que haya un archivo llamadofile.txt
dentro del directorio/tmp
en la máquina host) para confirmar que el directorio se ha montado correctamente.Si aún experimentas problemas, puedes intentar usar la bandera
--privileged
al ejecutar el contenedor para asegurarte de que el contenedor tenga suficientes permisos para acceder a los archivos en la máquina host. Además, asegúrate de que el directorio que estás montando sea legible y ejecutable por el contenedor.