我有这个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
我在这里想念什么?感谢您的帮助。预先感谢!
答案 0 :(得分:0)
似乎您有docker在与节点应用程序(3000)不同的端口(5000)上侦听,这就是节点不向浏览器返回任何数据的原因。