我正在尝试在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\\\"\"".
我需要做些什么才能让这个工作?这是文件系统格式的基本问题,还是有一些我可以调整的设置?
答案 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
这治愈了这个特殊的错误。不幸的是,我现在还有其他错误,但是由于其他原因导致这些错误。