Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 使用rabbitmq停靠节点项目_Node.js_Docker_Yarnpkg - Fatal编程技术网

Node.js 使用rabbitmq停靠节点项目

Node.js 使用rabbitmq停靠节点项目,node.js,docker,yarnpkg,Node.js,Docker,Yarnpkg,我正在尝试将我的项目停靠在我使用RabbitMq的地方。我已经编写了我的docker和我的docker-compose.yml,但是当我运行docker compose build时,我不断收到一个错误,我如何才能解决这个错误 [4/4]构建新的包。。。错误 /home/message broker/node_modules/bcrypt:命令失败。退出代码:1 命令:节点预gyp安装--回退到生成参数: 目录:/home/messagebroker/node\u模块/bcrypt输出: 节点预

我正在尝试将我的项目停靠在我使用RabbitMq的地方。我已经编写了我的docker和我的docker-compose.yml,但是当我运行
docker compose build
时,我不断收到一个错误,我如何才能解决这个错误

[4/4]构建新的包。。。错误 /home/message broker/node_modules/bcrypt:命令失败。退出代码:1 命令:节点预gyp安装--回退到生成参数: 目录:/home/messagebroker/node\u模块/bcrypt输出: 节点预gyp信息如果结束时使用ok节点预gyp信息,则有效 节点预处理-gyp@0.13.0节点预gyp信息使用node@10.16.3| linux | x64 使用节点预gyp https下载请求发出节点预gyp警告 节点预gyp信息检查是否已检查 “/home/messagebroker/node_modules/bcrypt/lib/binding/bcrypt_lib.node” (未找到)gyp http GET之前的节点 gyp http 404之前的节点 尝试下载节点前gyp警告(404): 未找到的节点pre-gyp WARN预构建二进制文件bcrypt@3.0.7及 node@10.16.3(node-v64 ABI,musl)(使用 节点gyp)节点前gyp http 404状态代码下载tarball gyp info如果它以ok gyp info using node结束,它就工作了-gyp@3.8.0 gyp信息使用node@10.16.3| linux | x64 gyp信息ok gyp信息it 如果使用节点以ok gyp info结束,则工作正常-gyp@3.8.0gyp信息使用 node@10.16.3| linux | x64 gyp http GET gyp http 200 gyp http GET gyp http 200吉普 info spawn/usr/bin/python2 gyp info spawn参数[ “/usr/local/lib/node_modules/npm/node_modules/node gyp/gyp/gyp_main.py”, gyp信息产卵参数'binding.gyp',gyp信息产卵参数'-f',gyp 信息产卵参数'make',gyp信息产卵参数'-I',gyp信息产卵 args'/home/messagebroker/node_modules/bcrypt/build/config.gypi', gyp信息产卵参数'-I',gyp信息产卵参数
“/usr/local/lib/node_modules/npm/node_modules/node gyp/addon.gypi”, gyp信息产卵参数'-I',gyp信息产卵参数
'/root/.node gyp/10.16.3/include/node/common.gypi',gyp info spawn args'-dllibrary=shared_library',gyp info spawn args
“-Dvisibility=default”,gyp信息生成参数
'-Dnode_root_dir=/root/.node gyp/10.16.3',gyp info spawn args
'-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node gyp',gyp info spawn args

'-Dnode_lib_file=/root/.node gyp/10.16.3/看看这里
运行apk--no cache add--virtual builds deps build base python
修复了它thanks@JuanDM我刚刚用一个新的错误更新了这个问题。这个错误很清楚,测试将完整路径传递到pm2配置文件
script:'home/messagebroker/dist/start.js'
,如果它Works您应该检查您的相对路径看看这里
运行apk--无缓存添加--虚拟构建deps build base python
修复了它thanks@JuanDM我刚刚用一个新的错误更新了这个问题。这个错误很清楚,测试通过pm2配置文件的完整路径
script:'home/messagebroker/dist/start.js'
,如果它rks您应该检查您的相对路径
FROM node:10.16-alpine
# FROM node:8.16-alpine

RUN apk update && apk upgrade && \
    apk add --no-cache bash git curl openssh make python \
    busybox-extras yarn

# RUN apt-get update && apt-get install -y curl
# RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
# RUN apt-get update && apt-get install -y nodejs


LABEL maintainer="ugbeadie@gmail.com"
RUN mkdir -p /home/message-broker
WORKDIR /home/message-broker
RUN yarn global add pm2
COPY package*.json ./
RUN yarn

ENV RABBIT_USER=""
ENV RABBIT_PASSWORD=""
ENV RABBIT_HOST=""
# ENV PORT=5000
ENV NODE_ENV=development
ENV REDIS_HOST=127.0.0.1
ENV REDIS_PORT=6379

COPY . /home/message-broker
RUN yarn && ./node_modules/.bin/tsc
# COPY docker-entrypoint.sh /
# ADD docker-entrypoint.sh /docker-entrypoint.sh
# RUN ["chmod", "+x", "/docker-entrypoint.sh"]
# RUN chmod +x /docker-entrypoint.sh
# ENTRYPOINT ["sh","/docker-entrypoint.sh"]
# RUN yarn global add typescript

RUN yarn tsc

EXPOSE 5500
CMD [ "pm2-runtime", "start", "ecosystem.config.js" ]
#COPY . /home/message-broker

#COPY docker-entrypoint.sh /
#ADD docker-entrypoint.sh /docker-entrypoint.sh
#RUN ["chmod", "+x", "/docker-entrypoint.sh"]
#RUN chmod +x /docker-entrypoint.sh
#ENTRYPOINT ["sh","/docker-entrypoint.sh"]

#RUN yarn tsc

#EXPOSE 5000
#CMD [ "pm2-runtime", "start", "ecosystem.config.js" ]
HOST_DOMAIN="host.docker.internal"

yarn tsc

pm2-runtime start ecosystem.config.js
module.exports = {
  /**
   * Application configuration section
   * http://pm2.keymetrics.io/docs/usage/application-declaration/
   */
  apps: [
    {
      name: 'Message-Broker Server',
      script: './dist/start.js',
      source_map_support: true,
      exec_mode: 'cluster',
      instances: 'max',
    },
  ],
};
version: '3'

services:

  rabbitmq:
    image: rabbitmq:3.7.4
    networks:
      - main_network

  message-broker:
    container_name: message-broker
    image: message-broker
    build:
      context: .
      dockerfile: ./Dockerfile
    ports:
      - 5000
    env_file: .env
    environment:
      - RABBIT_USER=""
      - RABBIT_PASSWORD=""
      - RABBIT_HOST=""
      - PORT=5000
      - NODE_ENV=development
      - REDIS_HOST=127.0.0.1
      - REDIS_PORT=6379
    volumes:
      - ./:/home/message-broker
    links:
      - rabbitmq
    depends_on:
      - rabbitmq
    networks:
      - main_network

networks:
  main_network:
    driver: bridge
message-broker    | 2020-01-27T15:50:32: PM2 log: Launching in no daemon mode
message-broker    | 2020-01-27T15:50:33: PM2 error: Error: Script not found: /home/message-broker/dist/start.js
message-broker    | 2020-01-27T15:50:33: PM2 log: PM2 successfully stopped