пытались подключить мое приложение докеры node.js к службе mongodb безрезультатно. Я создал приложение для ограничения моста ($ BRIDGE_APP) без войны или кода, связанного с службой mongodb. Он работает с хорошим статусом. Должен сказать, что тот же код работает правильно в моем локальном контейнере докеров. Я использую мангуст для подключения к mongo.The только разнице в коде является способом разрешения строки соединения Монго:bluemix docker container bind to mongodb ('MongoError', message: 'connect ENETUNREACH')
var DB_CONNECT_STRING = 'mongodb://app:[email protected]:27017/appname';
if(custom.areWeOnBluemix() && custom.doWeHaveServices())
DB_CONNECT_STRING = custom.getMongoConnectString();
...
console.log('going to connect to [email protected]: ' + DB_CONNECT_STRING);
var db = mongoose.createConnection(DB_CONNECT_STRING);
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function (callback) {
console.log('... db open !!!');
});
Я толкаю свой имидж в bluemix без проблем:
ice --local push $REGISTRY/$ORG/$CONTAINER_NAME
I проверьте окр ВАР:
cf env $BRIDGE_APP
System-Provided:
{
"VCAP_SERVICES": {
"mongodb-2.4": [
{
"credentials": {.....
, а затем я запускаю мой контейнер и связать ф:
ice run --bind $BRIDGE_APP --name $CONTAINER_NAME -p $PORT $REGISTRY/$ORG/$CONTAINER_NAME:latest
sleep 12
ice ip bind $IP $CONTAINER_NAME
... это почти полностью по книге, но по какой-то причине, когда я просматриваю журналы Я всегда получать:
ice logs $CONTAINER_NAME
...
going to connect to [email protected]: mongodb://c61deb58-45ea-41....
Example app listening at http://0.0.0.0:8080
connection error: { [MongoError: connect ENETUNREACH] name: 'MongoError', message: 'connect ENETUNREACH' }
Я также попытался с mongolab службы без успеха.
Неужели кто-нибудь в конце концов попробовал этот тип установки, который может предоставить мне дополнительную информацию о том, чего здесь нет?
поблагодарить Вас заранее
Это было правильно, я заставил серверный код дождаться 2 минуты перед подключением к db, и после этого у меня есть соединение успешно. Испытайте более короткий сон, но, по крайней мере, это работает. Супер спасибо. –