如何使用docker-compose连接到mongodb?
泊坞窗,compose.yml
mongo: image: tutum/mongodb environment: - AUTH=no volumes: - /Users/andrey/docker/mongodb:/mongo/db ports: - "27017:27017" parser: image: nazandr/goparser
和Dockerfile goparser
FROM golang:1.8 WORKDIR /app ADD parser.go /app/ RUN go get github.com/PuerkitoBio/goquery; go get gopkg.in/mgo.v2; go build -o parser ENTRYPOINT ["./parser"]
需要用什么地址连接mongo
你可以做如下的事情:
version: '3' services: mongo: image: 'mongo:3.4.1' ports: - '27017:27017' volumes: - 'mongo:/data/db' puma: tty: true stdin_open: true depends_on: - 'mongo' build: context: . dockerfile: Dockerfile.puma command: bundle exec rails s -p 3000 -b '0.0.0.0' ports: - '3000:3000' volumes: - '.:/app' environment: - SECRET_KEY_BASE=secret - MONGO_URL=mongodb://mongo:27017/app_development volumes: mongo:
您可能已经注意到,您可以使用连接string(如mongodb://mongo:27017
连接到位于同一个docker-compose.yml
文件中的其他容器上运行mongo
容器的mongo服务。
如果你想从主机连接,你可以使用mongodb://localhost:27017
如果你已经暴露了mongo端口,如上所示。