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-wschat-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 。 为了帮助检查你是否可以真正运行你的容器,请查看这里的官方文档中的示例(向下滚动到页面的“如何使用这个图像”部分)。

Interesting Posts