docker中的`npm start`结束于:请安装受支持的C ++ 11编译器并重新安装模块
运行docket容器时遇到问题,出现错误:
error: uncaughtException: Compilation of µWebSockets has failed and there is no pre-compiled binary available for your system. Please install a supported C++11 compiler and reinstall the module 'uws'.
这是一个完整的堆栈跟踪: http : //pastebin.com/qV0hzRxL
这是我的Dockerfile:
FROM node:6.7-slim # ----- I added this, but it didn't help RUN apt-get update && apt-get install -y gcc g++ RUN gcc --version RUN g++ --version # ------------------------------------ WORKDIR /usr/src/app ENV NODE_ENV docker RUN npm install CMD ["npm", "start"]
- 然后我用下面的方法成功地构build它:
sudo docker-compose build --no-cache chat-ws
(chat-ws
是图像的名字) - 而
sudo docker-compose up chat-ws
结束时出现错误。
注意:Docker镜像是docker-compose
中组合的一部分。
编辑:部分docker-compose.yml
chat-ws: build: ./dockerfiles/chat-ws links: - redis - chat-api ports: - 3000:3000 volumes_from: - data_chat-ws
和:
data_chat-ws: image: node:6.7-slim volumes: - ${PATH_CHAT_WS}:/usr/src/app command: "true"
有任何想法吗? 请? 谢谢,彼得
对我来说,问题是我的达尔文版本是57(OSX 10.12.6)
npm安装uws#给我是uws@8.14.1,那是我的达尔文版本
现在将编译的版本复制到您的操作系统
cp node_modules / uws / uws_darwin_57.node node_modules / socketcluster-server / node_modules / uws /
现在已经很晚了,我只是在今天才真正了解了docker-compose
和Stack Overflow,所以如果我在这里犯了一些非常明显的错误,请原谅我,但是:
- 你尝试过运行你制作的图像吗?
docker run yourimage
,包括任何命令。 这运行良好吗? - 在你的
data_chat-ws
docker-compose
,为什么你的data_chat-ws
服务有一个图像node:6.7-slim
? 这不应该是你build立的形象,即image: chat-ws
?
这是我要开始debugging的地方:首先确保你实际上能够运行图像,把所有docker-compose
东西放在一边,只有当它运行良好,将它添加到你docker-compose.yml
。 为了帮助检查你是否可以真正运行你的容器,请查看这里的官方文档中的示例(向下滚动到页面的“如何使用这个图像”部分)。