Mar*_*lho 4 mongodb node.js docker dockerfile docker-compose
我的node.js express app无法连接到Docker中的MongoDB.我对Docker并不熟悉.
node.js连接:
import mongodb from 'mongodb';
...
mongodb.MongoClient.connect('mongodb://localhost:27017', ... );
Run Code Online (Sandbox Code Playgroud)
Dockerfile:
FROM node:argon
RUN mkdir /app
WORKDIR /app
COPY package.json /app
RUN npm install
COPY . /app
EXPOSE 3000
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
泊坞窗,compose.yml
version: “2”
services:
web:
build: .
volumes:
— ./:/app
ports:
— “3000:3000”
links:
— mongo
mongo:
image: mongo
ports:
— “27017:27017”
Run Code Online (Sandbox Code Playgroud)
构建命令: docker build -t NAME .
运行命令: docker run -ti -p 3000:3000 NAME
连接错误:
[MongoError: failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]]
name: 'MongoError',
message: 'failed to connect to server [localhost:27017] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27017]'
Run Code Online (Sandbox Code Playgroud)
mes*_*nio 12
尝试:
mongodb.MongoClient.connect('mongodb://mongo:27017', ... );
Run Code Online (Sandbox Code Playgroud)
改变你的docker-compose.yml:
version: "2"
services:
web:
build: .
volumes:
- ./:/app
ports:
- "3000:3000"
links:
- mongo
mongo:
image: mongo
ports:
- "27017:27017"
Run Code Online (Sandbox Code Playgroud)
并使用一些docker compose命令:
docker-compose down
docker-compose build
docker-compose up -d mongo
docker-compose up web
Run Code Online (Sandbox Code Playgroud)
试试这个.
mongodb.MongoClient.connect('mongodb://mongo:27017', ... );而不是mongodb.MongoClient.connect('mongodb://localhost:27017', ... );.将它更改为mongo的原因是因为你在你的mongo中使用了links属性docker-compose.yml.这将导致您/etc/hosts的Web docker容器中的mongo主机名.引用链接容器.docker-compose.yml似乎缺乏一个缩进.在mongo属性上应该与web相同.
version: '2'
services:
web:
build: .
volumes: ['./:/app']
ports: [ '3000:3000' ]
links: [ mongo ]
mongo:
image: mongo
ports: [ '27017:27017' ]
Run Code Online (Sandbox Code Playgroud)我用我的码头工人,香港专业教育学院做了什么尝试更新你的配置docker-compose.yml,然后我docker-compose build接着docker-compose up.我本地运行的日志
| 归档时间: |
|
| 查看次数: |
6741 次 |
| 最近记录: |