【问题标题】:Docker copy files to and mount same folderDocker 将文件复制到并挂载相同的文件夹
【发布时间】:2017-02-13 10:26:07
【问题描述】:

我正在处理“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”文件夹及其子目录的确切状态的问题。

提前非常感谢。

【问题讨论】:

  • 我认为不可能在构建时安装某些东西。这是一个特殊的用例吗?您可以将您的应用程序和配置文件放在您用作构建上下文的文件夹中。

标签: docker windows-7 docker-toolbox


【解决方案1】:

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

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

$ docker run -p 8080:8080 -v "/c/Users/jaffy/app/web.xml:/org/app/web.xml" my-app-image

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-15
    • 2020-11-17
    • 2016-05-31
    • 2016-09-18
    • 2018-05-19
    • 2019-08-06
    • 2016-10-17
    相关资源
    最近更新 更多