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.

¿Cómo puedo mantener los subdirectorios de un directorio cuando lo monto vinculándolo a una nueva imagen de Docker?

Antecedentes

Estoy ejecutando una imagen de docker como el ejemplo del readme de Facebook:

cd docker/1.1.0/
docker build -t infer .
# monte el directorio de ejemplos locales dentro de la imagen
# también puede montar aquí su directorio de proyectos
docker run -it -v $PWD/../../examples:/infer-examples infer /bin/bash
# ahora debería estar dentro del contenedor docker con un indicador de shell, por ejemplo,
# ""root@5c3b9af90d59:/# "
cd /infer-examples/
infer --clang -c hello.c

Sin embargo, tanto al intentar el ejemplo literalmente como al montar mi propio directorio de proyectos como se menciona, no obtengo nada. A continuación, se muestra cuando lo ejecuté montando mi directorio de proyectos:
enter image description here

¿Cómo puedo enlazar correctamente mi directorio de proyectos al crear una imagen docker de infer?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Respuesta

    Parece que el problema está en la ruta que estás utilizando para el montaje. Cuando ejecutas el comando docker run -it -v $PWD/../../examples:/infer-examples infer /bin/bash, estás intentando montar el directorio ubicado dos niveles más arriba desde tu directorio actual.

    Para unir correctamente tu directorio de proyecto, necesitas reemplazar la ruta en -v $PWD/../../examples:/infer-examples con la ruta a tu directorio de proyecto. Por ejemplo, si tu directorio de proyecto se encuentra en /home/user/myproject, deberías ejecutar:

    docker run -it -v /home/user/myproject:/infer-examples infer /bin/bash
    

    Esto montará el directorio /home/user/myproject en /infer-examples dentro del contenedor. Luego, puedes navegar a /infer-examples dentro del contenedor y ejecutar el comando infer en tus archivos de proyecto.

    Ten en cuenta que la ruta que uses debe ser una ruta absoluta, y es posible que necesites ajustar los permisos si tu directorio de proyecto no es propiedad del usuario que está ejecutando el contenedor de Docker.

Comments are closed.