Docker卷数据未在本地存储

Docker卷数据未在本地存储,docker,Docker,我正在生成Dockerfile,容器中的文件未与本地存储同步 Dockerfile: 我的docker生成命令: 我想使用bind mount,因为在容器运行之后,我需要本地目录上的输出 我的docker运行命令: docker run -v e:\svn\daffodil-dev-3.4.1\whitecoats-admin:\wc_console wc_console_build:1.0 运行docker时,我在本地计算机中的当前工作目录是:e:\svn\daffodil-dev-3.4.

我正在生成Dockerfile,容器中的文件未与本地存储同步

Dockerfile:

我的docker生成命令:

我想使用bind mount,因为在容器运行之后,我需要本地目录上的输出

我的docker运行命令:

docker run -v e:\svn\daffodil-dev-3.4.1\whitecoats-admin:\wc_console wc_console_build:1.0
运行docker时,我在本地计算机中的当前工作目录是:e:\svn\daffodil-dev-3.4.1\whitecoats admin

Docker容器中的我的工作目录:wc_控制台

但是,每当我运行docker容器时,它都不会将最终输出同步回本地目录

我做错了什么

用于文件夹可视化的图像。

不要在Dockerfile的ENV HOME=\wc\u控制台中使用\wc\u控制台,而是使用/wc\u控制台。Linux使用正向斜杠来构造目录。docker run命令也是如此。改变

docker run-ve:\svn\daffodil-dev-3.4.1\whitecoats admin:\wc\u console wc\u console\u build:1.0


docker run-v e:\svn\daffodil-dev-3.4.1\whitecoats admin:/wc_console wc_console_build:1.0

装载卷时,实际上是用主机上的任何内容替换/wc_控制台的内容

如果希望获得maven生成的人工制品,那么需要在运行的容器上运行maven命令,而不是作为构建过程的一部分

当您这样做时,您也不需要在构建时将源添加到映像中

来自maven:3.6.1-jdk-8 ENV HOME=/wc_控制台 WORKDIR$HOME 如果你真的需要,就把这部分作为入口点 运行mvn依赖项:脱机-B-永不失败 入口点mvn清洁安装-T 2C-DskipTests=true 也就是说,对于您需要的内容,您甚至不需要Dockerfile:

docker run-rm-ve:\svn\daffodil-dev-3.4.1\whitecoats admin:/wc_console-workdir/wc_console maven:3.6.1-jdk-8 mvn clean install-t2c-DskipTests=true
这确实是一个问题,但并不能完全解决问题。@Mihai为什么不能?您指定的目标需要执行一个项目,但此目录/wc_控制台中没有POM。请验证您从正确的目录调用了Maven。我发现这个错误,我想斜杠的更改没有帮助。@SriramArvindLakshmanakumar:POM文件的位置是什么?重置Docker密码和更新Docker帮助我解决了卷问题。
docker build -f build_maven_docker . -t wc_console_build:1.0
docker run -v e:\svn\daffodil-dev-3.4.1\whitecoats-admin:\wc_console wc_console_build:1.0