Dockerized节点应用程序不提供静态内容

时间:2015-12-10 13:22:28

标签: node.js express docker

我最近将我的nodejs应用程序移动到了一个docker容器中。 一切正常,但静态文件(例如凉亭组件)不会被加载(404)。

怎么了?

在我的节点应用中:

app.use('/static', express.static(__dirname + '/../public'));

我的.bowerrc

{
  "directory": "public/lib"
}

Bower下载并安装正确目录中的所有文件。我在码头工人的容器里自己查了一下。

我的dockerfile:

FROM node:4-onbuild
COPY . /src
RUN cd /src/ && npm install && bower install --allow-root
RUN ["node", "/src/server.js"]
EXPOSE 3000

1 个答案:

答案 0 :(得分:0)

我之前遇到的类似问题,这是bower而不是docker容器的问题,bower不能很好地使用root权限,你需要使用node install命令安装所有依赖项。 将Node和Angular依赖项合并到一个package.json中,并使用节点的package.json触发bower 它可能会解决您的问题。