如何使用Docker容器化多个文件

时间:2019-10-16 18:57:02

标签: reactjs docker express kubernetes google-bigquery

我用reactjs / express创建了一个简单的应用程序。部署到Google App Engine后,该应用程序将按预期工作。在使用Docker进行容器化之后,我正在尝试将此应用程序部署到Kubernetes。

我的docker文件

FROM express-gateway:1.16.9
EXPOSE 8080
COPY server.js .
CMD node server.js

我有多个文件需要由Docker容器化,“ server.js”和“ secrets.json”文件。在上面的docker文件中,我只有server.js,如何包含其他文件?同样在server.js内,我正在使用BigQuery,它需要访问其他“ secrets.json”文件,如何指定此json文件的路径?在我的代码中,我按以下方式指定路径,Docker容器是否可以使用以下keyFilename?

function query_bigQuery() {          
   const bigqueryClient = new BigQuery({     
      keyFilename: 'secrets.json'
   });
...         

1 个答案:

答案 0 :(得分:1)

您可以将所有必需的文件从主机复制到docker映像,它可以像访问当前文件一样访问其他必需文件。

EXPOSE 8080
WORKDIR /app
COPY . .
CMD node server.js

此处copy . .会将整个文件和目录结构从当前上下文复制到docker映像的/app

因此,我建议在此情况下仅保留所需文件(即放置dockerfile的目录),以使映像较小。