将文件从本地机器复制到docker
我已经创build了一个nodejs应用程序,它使用外部文件来读取各种configuration,并且为这个应用程序创build了一个docker容器。 我需要这个应用程序从主机读取configuration文件(因为他们将不时更改),而不重build整个docker集装箱。 如何才能做到这一点?
您应该使用docker卷从主机读取这些configuration文件。
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文件结构中创build引用泊坞窗卷中的文件的符号链接