【问题标题】:Copy file from local machine to docker将文件从本地机器复制到 docker
【发布时间】:2015-10-13 19:33:58
【问题描述】:

我已经创建了一个 nodejs 应用程序,它使用外部文件来读取各种配置,并且我已经为这个应用程序创建了一个 docker 容器。我需要这个应用程序从主机读取配置文件(因为它们会不时更改)而不重建整个 docker 容器。如何做到这一点?

【问题讨论】:

    标签: node.js docker


    【解决方案1】:

    您应该使用 docker 卷从您的主机读取这些配置文件。

    docker run -v /host/config_files:/container/nodejs/config_files
    

    您的 nodejs 应用程序只能访问位于 /container/nodejs/config_files 中的文件,而您可以在主机上更改它们。

    var config = require('./config_files/some.properties');
    

    我为我的一个开发项目做了类似的事情。

    我的方法是使用ENTRYPOINT,它会在每次启动容器时克隆 git repo 并自动启动 nodejs 服务。

    这是在 Dockerfile 中实现的

    FROM ...
    ...
    ENTRYPOINT git clone https://github.com/my/repo.git && nodejs someService
    

    其他想法:

    • 挂载外部卷并通过ENTRYPOINT 命令复制所需文件
    • 将文件上传到 github 等存储库并使用上面显示的命令
    • 在您的 nodejs 文件结构中创建引用来自 docker 卷的文件的符号链接

    【讨论】:

    • 谢谢! - docker run -v /host/config_files:/container/nodejs/config_files 的选项完美运行
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-08
    • 2014-03-29
    • 1970-01-01
    • 2017-03-11
    • 1970-01-01
    • 2015-07-08
    相关资源
    最近更新 更多