【发布时间】:2015-10-13 19:33:58
【问题描述】:
我已经创建了一个 nodejs 应用程序,它使用外部文件来读取各种配置,并且我已经为这个应用程序创建了一个 docker 容器。我需要这个应用程序从主机读取配置文件(因为它们会不时更改)而不重建整个 docker 容器。如何做到这一点?
【问题讨论】:
我已经创建了一个 nodejs 应用程序,它使用外部文件来读取各种配置,并且我已经为这个应用程序创建了一个 docker 容器。我需要这个应用程序从主机读取配置文件(因为它们会不时更改)而不重建整个 docker 容器。如何做到这一点?
【问题讨论】:
您应该使用 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 命令复制所需文件【讨论】:
docker run -v /host/config_files:/container/nodejs/config_files 的选项完美运行