Reputation: 6736
I'm trying to run the simplest container of mongo
and mongo-express
using docker-compose
. I have faced with many errors that will be explained later on.
I have tried the following docker-compose configurations:
1.
version: '2'
services:
mongo:
image: mongo:latest
mongo-express:
image: mongo-express:latest
ports:
- 8082:8081
2.
version: '2'
services:
mongo:
image: mongo:latest
restart: always
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: root
ports:
- 27017:27017
volumes:
- db-data:/data/db
- mongo-config:/data/configdb
mongo-express:
image: mongo-express
restart: always
ports:
- 8081:8081
volumes:
db-data:
mongo-config:
and etc. But all of them have the following common error whenever I execute docker-compose -f docker-compose.yml up
:
mongo-express_1 | Mongo Express server listening at http://0.0.0.0:8081
mongo-express_1 | Server is open to allow connections from anyone (0.0.0.0)
mongo-express_1 | basicAuth credentials are "admin:pass", it is recommended you change this in your config.js!
mongo-express_1 |
mongo-express_1 | /node_modules/mongodb/lib/server.js:265
mongo-express_1 | process.nextTick(function() { throw err; })
mongo-express_1 | ^
mongo-express_1 | MongoError: failed to connect to server [mongo:27017] on first connect
mongo-express_1 | at Pool.<anonymous> (/node_modules/mongodb-core/lib/topologies/server.js:326:35)
mongo-express_1 | at emitOne (events.js:116:13)
mongo-express_1 | at Pool.emit (events.js:211:7)
mongo-express_1 | at Connection.<anonymous> (/node_modules/mongodb-core/lib/connection/pool.js:270:12)
mongo-express_1 | at Object.onceWrapper (events.js:317:30)
mongo-express_1 | at emitTwo (events.js:126:13)
mongo-express_1 | at Connection.emit (events.js:214:7)
mongo-express_1 | at Socket.<anonymous> (/node_modules/mongodb-core/lib/connection/connection.js:175:49)
mongo-express_1 | at Object.onceWrapper (events.js:315:30)
mongo-express_1 | at emitOne (events.js:116:13)
I have searched this issue all over the internet and github repositories and tried the other solutions, but none of them worked appropriately.
link1 | link2 | link3 | link4 | etc.
Upvotes: 2
Views: 4773
Reputation: 127
docker run -d
-p 8081:8081
--name mongo-express
-e ME_CONFIG_MONGODB_ADMINUSERNAME=**<username>**
-e ME_CONFIG_MONGODB_ADMINPASSWORD=**<password>**
--net **<mongo network name>**
-e ME_CONFIG_MONGODB_SERVER=**<mongodb container name>**
-e ME_CONFIG_OPTIONS_EDITORTHEME=ambiance
mongo-express
Upvotes: 0
Reputation: 6736
First I have run docker stop $(docker ps -a -q)
and then changed the docker-compose.yml file to the following content:
version: '2'
services:
mongo:
image: mongo:3.4
container_name: mongo
ports:
- '27017:27017'
volumes:
- '/data/configdb:/data/configdb'
- '/data/db:/data/db'
mongo-express:
image: mongo-express:0.49.0
container_name: mongo_express
depends_on:
- 'mongo'
ports:
- '5050:8081'
environment:
- 'ME_CONFIG_OPTIONS_EDITORTHEME=ambiance'
Upvotes: 3