Docker卷装载Maven构build和Docker Cli之间的绑定权限差异

嗨所以,我正在build立一个图像,并希望运行它的容器,当我通过maven做,一切正常。 这是我的pomconfiguration

<plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> <version>${docker.maven.version}</version> <configuration> <verbose>true</verbose> <images> <image> <name>%a</name> <alias>inttestssim</alias> <build> <!-- always rebuild the image --> <nocache>true</nocache> <dockerFileDir>${basedir}/src/main/resources</dockerFileDir> </build> <run> <hostname>inttestssim</hostname> <privileged>true</privileged> <ports> <port>${simsshserverport}:${simsshserverport}</port> <port>${simadminport}:${simadminport}</port> </ports> <!-- assign the created network from startnetwork --> <network> <mode>custom</mode> <name>${simnetworkname}</name> <alias>${simnetworkname}</alias> </network> <!-- use the arguments for the setup_interface script in the sim --> <env> <setupInterfaceArgs>${setupInterfaceArgs}</setupInterfaceArgs> <simadminport>${simadminport}</simadminport> <simportbase>${simportbase}</simportbase> <simsshserverport>${simsshserverport}</simsshserverport> </env> <!-- setup volume for simulator config dir --> <volumes> <bind> <volume>${simconfigdir}:/home/visionems/DEV/simulator</volume> <!--<volume>${simsftpdir}:/home/visionems/sftp</volume> --> </bind> </volumes> </run> </image> </images> </configuration> 

现在我也想基于相同的图像启动一个没有maven的容器,所以这是我使用的命令。

 docker run --privileged -h inttestssim -p $simsshserverport:$simsshserverport -p $simadminport:$simadminport --network=$simnetworkname --network-alias=$simnetworkname -e "setupInterfaceArgs=$setupInterfaceArgs" -e "simnetworkips=$simnetworkips" -e "simnetworkname=$simnetworkname" -e "simconfigdir=$simconfigdir" -e "simsshserverport=$simsshserverport" -e "simadminport=$simadminport" -e "simportbase=$simportbase" -v $simconfigdir:/home/visionems/DEV/simulator $SIMULATOR_IMAGE_TAG 

当我这样做,我有问题,我没有看到什么时候容器通过maven构build运行。 主要是关于卷装。 当我通过CLI通过-v选项执行时,安装的卷获得根权限,并且该进程出轨。 有关信息,在容器实例期间,挂载的volume / home / visionems / DEV / simulator是在运行时创build的。 那么为什么差异,我怎样才能避免根文件permnissions。 我试图在Docker文件的图像生成过程中创build文件,并执行一个chown或做一个su – 用户-c'mkdir -p目录,但我仍然有同样的问题