尝试在Windows 10主机上的Docker容器中运行Maven时出错

时间:2017-05-18 13:30:39

标签: windows docker

我正在尝试在Windows主机上的docker容器中运行maven构建。构建在OSX上运行正常,但我一直在努力处理文件权限和问题。诸如此类。我将它从主机上的%userprofile%。m2映射到容器中的/root/.m2。最初它无法创建.m2目录(权限被拒绝)所以我手动创建了这个,&然后它无法在其中创建存储库目录,所以我手动创建它,现在我收到此错误消息:

C:\Users\matt.moran\myproject\dockerbuild>docker run -it -v C:\Users\matt.moran\myproject\dockerbuild/../:/usr/local/build/cdxwww:cached -v C:\Users\matt.moran/.m2:/root/.m2:cached --rm cdxbuild docker: Error response from daemon: oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:359: container init caused \"rootfs_linux.go:54: mounting \\\"/C/Users/matt.moran/.m2\\\" to rootfs \\\"/var/lib/docker/overlay2/b42098a7e393129f5da0205ab6bedd94e87840fd1b8002445a9efb040b256fef/merged\\\" at \\\"/root/.m2\\\" caused \\\"stat /C/Users/matt.moran/.m2: input/output error\\\"\"".

我需要做些什么才能让这个工作?这是文件系统格式的基本问题,还是有一些我可以调整的设置?

1 个答案:

答案 0 :(得分:0)

原来这个特殊问题是由于Windows不喜欢正斜杠作为文件分隔符 - 从OSX或* nix操作系统移植时出现问题。

我改变了

docker run -it -v C:\Users\matt.moran\myproject\dockerbuild/../:/usr/local/build/cdxwww:cached -v C:\Users\matt.moran/.m2:/root/.m2:cached --rm cdxbuild

docker run -it -v C:\Users\matt.moran\myproject\dockerbuild\..\:/usr/local/build/cdxwww:cached -v C:\Users\matt.moran\.m2:/root/.m2:cached --rm cdxbuild

这治愈了这个特殊的错误。不幸的是,我现在还有其他错误,但是由于其他原因导致这些错误。