es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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.

Tags:  ,

Answer

  1. Avatar for 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 comando ls. Puedes intentar ejecutar un comando diferente dentro del contenedor, como cat /test/file.txt (suponiendo que haya un archivo llamado file.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.

Comments are closed.