嗨我正在用npm运行一个基本的反应项目,我正试图在一个docker容器中启动它。但是我实际上无法让项目运行。我的dockerfile如下所示:
FROM node:7.8.0
WORKDIR /
ADD . /
EXPOSE 80
RUN npm install
ENTRYPOINT npm run start
我收到相关消息说现在可以查看该项目,但在浏览器中没有显示任何内容。任何帮助将不胜感激。
答案 0 :(得分:2)
我怀疑您的docker run
命令中的端口可能是倒退的。如果您在端口6000上运行您的react应用程序,并希望在端口80上将其暴露给外部,那么您应该运行容器...
docker run -p 80:6000 myapp
用法:docker run -p <HOST_PORT>:<CONTAINER_PORT> <APP_NAME>
答案 1 :(得分:0)
通过将npm start修改为package.json(第6行)解决了类似的问题。
尝试在ng服务后添加-主机0.0.0.0 。
private static async sendMessageToToken(deviceToken: DeviceToken, chat: Chat, senderId: string) {
const senderMessage: Message = chat.messages.find((msg: Message) => msg.userId === senderId);
const message = senderMessage.message;
const user: User = await getRepository(User).findOneOrFail(senderMessage.userId);
const image = user.image;
const title = user.username;
console.log("TAG: " + chat.id);
await admin.messaging().send({
token: deviceToken.deviceToken,
data: {
chatId: chat.id,
senderId: senderId
},
notification: {
title: title,
body: message
},
android: {
notification:
{
title: '[' + title + ']',
body: message,
icon: image,
tag: chat.id
}
}
})
}
最后,用"start": "ng serve --host 0.0.0.0",
这可能被称为网络套接字问题