docker-composeでexpressからmongoに繋げようとしているのですが、nodeコンテナで下記エラーが出て来てしまい、繋がりません。
$ docker-compose logs | grep "node " node | { MongoNetworkError: failed to connect to server [mongo:27017] on first connect [MongoNetworkError: connect ECONNREFUSED 172.18.0.3:27017] node | at Pool.<anonymous> (/app/node_modules/mongodb/node_modules/mongodb-core/lib/topologies/server.js:564:11) node | at emitOne (events.js:116:13) node | at Pool.emit (events.js:211:7) node | at Connection.<anonymous> (/app/node_modules/mongodb/node_modules/mongodb-core/lib/connection/pool.js:317:12) node | at Object.onceWrapper (events.js:317:30) node | at emitTwo (events.js:126:13) node | at Connection.emit (events.js:214:7) node | at Socket.<anonymous> (/app/node_modules/mongodb/node_modules/mongodb-core/lib/connection/connection.js:246:50) node | at Object.onceWrapper (events.js:315:30) node | at emitOne (events.js:116:13) node | at Socket.emit (events.js:211:7) node | at emitErrorNT (internal/streams/destroy.js:66:8) node | at _combinedTickCallback (internal/process/next_tick.js:139:11) node | at process._tickCallback (internal/process/next_tick.js:181:9) node | name: 'MongoNetworkError', node | errorLabels: [ 'TransientTransactionError' ], node | [Symbol(mongoErrorContextSymbol)]: {} }
どなたかわかりますでしょうか。
ソースコードは以下です(抜粋)。
// bin/www var app = require('../app'); var port = normalizePort(process.env.PORT || '3000'); app.set('port', port); var server = http.createServer(app); const mongoose = require('mongoose'); mongoose.connect('mongodb://mongo:27017/hoge', {useNewUrlParser: true}).then(() => { console.log('connected!!'); }, err => { //常にここに入ってしまう console.log(err); });
// docker-compose.yml mongo: image: mongo:4.0 restart: always container_name: mongo volumes: - ./mongo:/data/db expose: - 27017 ports: - 27017:27017 environment: MONGODB_USER: ${MONGODB_USERNAME} MONGODB_PASS: ${MONGODB_PASSWORD} app: build: ./ container_name: node tty: true volumes: - ./:/app ports: - 3000:3000 links: - mongo
hogeデータベースの存在確認
$ docker-compose exec mongo mongo // mongoコンテナ内でmongo起動 > show dbs admin 0.000GB config 0.000GB local 0.000GB hoge 0.000GB // hogeデータベースの存在確認
バージョン
node: 8.12.0 mongodb: 4.0 == npm == express: 4.16.0 mongoose: 5.3.0
よろしくお願いします!!!!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。