1

我正在处理“tomcat:7.0.75-jre8-alpine”基础映像,并希望部署我的 Web 应用程序及其配置文件。以下是我在 Dockerfile 中所做的事情:

......
COPY <my-app-configurations> /org/app/data
COPY <my-app-configurations> /org/app/conf
......
CMD ["catalina.sh", "run"]

我正在使用以下命令从上面的图像创建一个容器:

$ docker run -p 8080:8080 -v "/c/Users/jaffy/app:/org/app" myapp-image

'/c/Users/jaffy/app' 文件夹最初是空的,我想在其中获取 '/org/app' 的所有内容并保持同步。

最初,所有配置都复制到“/org/app”文件夹中,但是当挂载“/c/Users/jaffy/app”时,“/org/app”会被清理/清空。

我该如何解决这个问题,即主机文件夹最初保持为空,但之后它反映了容器的“/org/app”文件夹及其子目录的确切状态。

提前非常感谢。

4

1 回答 1

0

当您在该文件夹上挂载/共享卷时,无法保留容器的文件夹内容,因为该命令正在替换文件夹而不是合并它。

如果您不需要替换文件夹中的所有文件,您可以挂载需要更改的文件,例如:

$ docker run -p 8080:8080 -v "/c/Users/jaffy/app/web.xml:/org/app/web.xml" my-app-image
于 2017-02-13T11:07:20.673 回答