我用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'
});
...
答案 0 :(得分:1)
您可以将所有必需的文件从主机复制到docker映像,它可以像访问当前文件一样访问其他必需文件。
EXPOSE 8080
WORKDIR /app
COPY . .
CMD node server.js
此处copy . .
会将整个文件和目录结构从当前上下文复制到docker映像的/app
。
因此,我建议在此情况下仅保留所需文件(即放置dockerfile的目录),以使映像较小。