Docker de alto nivel y Dockerfile Volumen / comprensión de escritura

Estoy trabajando en un proyecto maven y ejecutando testings usando Junit dentro de este proyecto. Soy nuevo en Docker y estoy intentando escribir un Dockerfile que genera una image que crea un contenedor que, cuando se ejecuta, ejecuta las testings y genera los resultados XML encontrados en target/failsafe-reports (carpeta de salida de un plugin maven que resume los resultados de las testings de Junit). He intentado esto utilizando enlaces como Dockerfile Reference y Manage Data in Containers . Mi mentor escribió una línea que logra esto mediante el uso de docker run -it --rm --name containerName -v "$PWD":/usr/src/tests -v /Users/theUser/.m2:/root/.m2 -w /usr/src/tests maven:3.5-alpine mvn clean verify .

La línea de línea anterior se llama en la raíz de mi proyecto (en la location donde están pom y Dockerfile) así que $PWD refiere a la raíz de mi proyecto.

Mi pregunta es ¿cuánto de este trabajo se puede automatizar en un Dockerfile? En mis bashs de usar y ejecutar un Dockerfile no he podido get nada escrito al tener el file Docker actual.

 FROM maven:3.5-alpine COPY ["./", "/usr/local/tests"] VOLUME /usr/local/tests/target/failsafe-reports ENTRYPOINT mvn -f /usr/local/tests/pom.xml verify 

Lo construyo con docker build . -t imageName docker build . -t imageName

y crea el contenedor con la docker run -it --rm --name test-container -v "$PWD":/usr/local/tests -v /Users/theUser/.m2:/root/.m2 imageName

Esto parece ejecutar mis testings pero no escribe los resultados en mi sistema de files local. ¿Qué concepto (s) de Docker y Dockerfiles me estoy perdiendo?

Intenta ejecutar solo

 docker run -d --name test-container -v $PWD:/usr/local/tests -v /Users/theUser/.m2:/root/.m2 imageName 

Luego, compruebe la carpeta actual local de su host (pwd) donde se creó la salida.

Si no, ingresa al contenedor sacando un caparazón usando:

 docker exec -it test-container sh 

Ahora debe estar en el indicador, intente ejecutar ls -l o mire alnetworkingedor para find dónde y si la salida se creó dentro del contenedor. Eso debería darte pistas sobre qué montar en el volumen o arreglar el process en sí mismo si no generó los files de salida.