簡體   English   中英

如何使用 MongoDB 和 RabbitMQ 在 Docker 中運行 NodeJS?

[英]How can I run NodeJS in Docker with MongoDB and RabbitMQ?

如何在 Docker 中運行 NodeJ 並將其與 MongoDB 和 RabbitMQ 連接? 我需要用docker-compose運行它嗎?

而且我還需要2個環境

  1. 使用 nodemon 在開發環境中運行nodemon應用程序。
  2. 第二個環境是生產實驗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 - 生產鏡像構建
  • Dockerfile.dev - 開發鏡像構建

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM