将文件从本地机器复制到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引用泊坞窗卷中的文件的符号链接