Digital Ocean上的“无法访问此站点” Docker容器

时间:2019-02-27 12:56:09

标签: node.js reactjs docker digital-ocean

我有这个React / Nodejs应用程序,我正在尝试使用Docker在Digital Ocean上部署它。我创建了一个具有2GB RAM的Docker Droplet,克隆了该项目并尝试运行它。

到现在,构建映像并运行它时,我没有收到任何错误日志。但是,当我尝试访问它时,在浏览器中显示错误“无法访问此站点”。

我正在建立这样的图像:POST sort_index/_search { "query": { "function_score": { "query": { "match_all": {} }, "boost": "5", "functions": [{ "filter": { "match": { "name": "ram" } }, "random_score": {}, "weight": 1000 }], "score_mode": "max" } }, "sort": [{ "activity.keyword": { "order": "desc" } }] }

运行它并传递我的env变量,如下所示:

docker build -t myImage .

一切似乎都正常(构建和运行)。我收到了mongodb已连接且服务器正在运行的日志。但是我看不到该应用程序。

这是我的Dockerfile:

docker run -p 80:3000 -e NODE_ENV="production" -e MONGO_URI="URI" -e SECRET_OR_KEY="KEY" myImage

我也是基于在Digital Ocean上运行的另一个应用程序创建的。

这是我的server.js:

FROM node:11.10.0

WORKDIR /usr/src
RUN git clone https://github.com/repo.git

WORKDIR /usr/src/project

RUN npm install
WORKDIR /usr/src/project/client
RUN npm install
RUN npm run build

WORKDIR /usr/src/project

EXPOSE 80 3000

ENTRYPOINT npm run server

我在这里想念什么?感谢您的帮助。预先感谢!

1 个答案:

答案 0 :(得分:0)

似乎您有docker在与节点应用程序(3000)不同的端口(5000)上侦听,这就是节点不向浏览器返回任何数据的原因。