Node.js 使用rabbitmq停靠节点项目
我正在尝试将我的项目停靠在我使用RabbitMq的地方。我已经编写了我的docker和我的docker-compose.yml,但是当我运行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输出: 节点预
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