[英]How can I run NodeJS in Docker with MongoDB and RabbitMQ?
如何在 Docker 中運行 NodeJ 並將其與 MongoDB 和 RabbitMQ 連接? 我需要用docker-compose
運行它嗎?
而且我還需要2個環境
nodemon
應用程序。node app.js
我找到了這個docker-compose
yml,但我不明白如何從 nodejs 連接它
services:
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: rabbitmq
environment:
RABBITMQ_ERLANG_COOKIE: ${RABBITMQ_ERLANG_COOKIE}
RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS}
幾天后,我找到了這個帶有 RabbitMQ、MongoDB 的倉庫。 您還可以在這里找到 Mongo-express,您可以在其中直接使用 Mongo。
https://github.com/stdakov/docker-rabbit-mongo
安裝:
git clone https://github.com/stdakov/docker-rabbit-mongo.git
cd docker-rabbit-mongo/
docker-compose up -d
不,您不需要使用docker-compose
運行它。
我建議創建以下文件:
Dockerfile.dev 看起來像這樣:
FROM node:10-alpine
ENV PORT 8080
WORKDIR /usr/src/app
COPY . /usr/src/app
RUN npm install -g nodemon
RUN npm install
ENTRYPOINT ["nodemon", "/usr/src/app/server.js"]
構建鏡像的命令: docker build. -t node-app -f Dockerfile.dev
docker build. -t node-app -f Dockerfile.dev
運行鏡像的命令: docker run --rm -it -p 8080:8080 --network my-node-net -v "${PWD}:/usr/src/app" node-app
看看我看到的這個例子: https://github.com/kelda/node-todo
您還需要實現 rmq 和 mongo 客戶端連接,並在與 node-app 相同的網絡內運行官方圖像
所有 compose 選項都可以翻譯成 docker 運行命令
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.