我是Docker的新手,我尝试了docker-compose中最简单的设置,但没有成功连接到Mongodb。Docker-compose猫鼬
我的搬运工,compose.local.yaml文件:
version: "2"
services:
posts-api:
build:
dockerfile: Dockerfile.local
context: ./
volumes:
- ".:/app"
ports:
- "6820:6820"
depends_on:
- mongodb
mongodb:
image: mongo:3.5
ports:
- "27018:27018"
command: mongod --port 27018
我的码头工人文件:
FROM node:7.8.0
MAINTAINER Livefeed '[email protected]'
RUN mkdir /app
VOLUME /app
WORKDIR /app
ADD package.json yarn.lock ./
RUN eval rm -rf node_modules && \
yarn
ADD server.js .
RUN mkdir config src
ADD config config/
ADD src src/
EXPOSE 6820
EXPOSE 27018
CMD yarn run local
在server.js我尝试使用连接:
mongoose.connect('mongodb://localhost:27018');
我还试过:
mongoose.connect('mongodb://mongodb:27018');
要运行泊坞窗 - 撰写:
docker-compose -f docker-compose.local.yaml up --build
我收到的错误:
connection error: { MongoError: failed to connect to server [localhost:27018] on first connect [MongoError: connect ECONNREFUSED 127.0.0.1:27018]
我缺少什么?
@Tamas,是的,我已经在我的Docker.local做到了这一点.yaml文件,我将它添加到描述 – Trace
对不起,我的意思是服务:mongo:image:'mongo:3.5'ports:'27018:27017'。 – Tamas
@Tamas我想运行在27018端口,因为我想为每个微服务运行不同的mongo实例 – Trace