Dockerfile VOLUME定义来挂载项目树

我试图使用Docker自动创build开发环境和部署。 这是我的Dockerfile的最小例子:

FROM java VOLUME .:/hello 

并build立它

 docker build -t hello-server . 

然后我运行图像hello-server ,访问它的/hello目录,它存在,但是是空的。

但是当我运行图像使用

 docker run -i -t -v $(pwd):/hello2 hello-server 

/hello2包含项目的README,Dockerfile和其他文件。 如何正确定义从Dockerfile的卷装入?

这不起作用:

 VOLUME .:/hello 

您不能在Dockerfile中为卷指定主机目录。 原因是它是不可移植的。

可以使用COPY将文件复制到图像中,也可以像运行时一样在运行时装入卷。