Mongodb MongoExpress展会;无法读取属性';列表数据库';“未定义”的定义;错误
我尝试使用docker compose.yml创建Mongo和Mongo Express服务器。这是我的背景Mongodb MongoExpress展会;无法读取属性';列表数据库';“未定义”的定义;错误,mongodb,docker,docker-compose,Mongodb,Docker,Docker Compose,我尝试使用docker compose.yml创建Mongo和Mongo Express服务器。这是我的背景 version: "3" services: mongo: image: "mongo:3-stretch" environment: - MONGO_INITDB_ROOT_USERNAME=devroot - MONGO_INITDB_ROOT_PASSWORD=devroot - MONGO_INITDB_DATABASE=D
version: "3"
services:
mongo:
image: "mongo:3-stretch"
environment:
- MONGO_INITDB_ROOT_USERNAME=devroot
- MONGO_INITDB_ROOT_PASSWORD=devroot
- MONGO_INITDB_DATABASE=DataBank
ports:
- "27017:27017"
mongo-express:
image: "mongo-express:latest"
environment:
- ME_CONFIG_MONGODB_SERVER=mongo
- ME_CONFIG_MONGODB_PORT=27017
- ME_CONFIG_MONGODB_ENABLE_ADMIN=false
- ME_CONFIG_MONGODB_AUTH_DATABASE=admin
- ME_CONFIG_MONGODB_AUTH_USERNAME=devroot
- ME_CONFIG_MONGODB_AUTH_PASSWORD=devroot
- ME_CONFIG_OPTIONS_EDITORTHEME=ambiance
- ME_CONFIG_BASICAUTH_USERNAME=dev
- ME_CONFIG_BASICAUTH_PASSWORD=dev
depends_on:
- mongo
ports:
- "8081:8081"
结果(此处有错误):
尽管出现了第一个错误,我仍然能够访问,但成功登录后,它显示(另一个错误):
我应该看什么?这里的问题是mongo express无法访问管理数据库。将这些环境变量添加到mongo express应该可以解决您的问题
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_MONGODB_ADMINUSERNAME=${MONGO_ROOT_USER}
- ME_CONFIG_MONGODB_ADMINPASSWORD=${MONGO_ROOT_PASSWORD}
我的最终docker compose文件如下所示,它适合我
version: '3.3' # specify docker-compose version
services:
mongo:
image: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USER}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
- MONGO_INITDB_DATABASE=project
mongo-express:
image: mongo-express
environment:
- ME_CONFIG_MONGODB_SERVER=mongo
- ME_CONFIG_MONGODB_PORT=27017
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_MONGODB_ADMINUSERNAME=${MONGO_ROOT_USER}
- ME_CONFIG_MONGODB_ADMINPASSWORD=${MONGO_ROOT_PASSWORD}
- ME_CONFIG_MONGODB_AUTH_DATABASE=admin
- ME_CONFIG_MONGODB_AUTH_USERNAME=${MONGO_ROOT_USER}
- ME_CONFIG_MONGODB_AUTH_PASSWORD=${MONGO_ROOT_PASSWORD}
- ME_CONFIG_BASICAUTH_USERNAME=${MONGOEXPRESS_LOGIN}
- ME_CONFIG_BASICAUTH_PASSWORD=${MONGOEXPRESS_PASSWORD}
depends_on:
- mongo
注意:请不要在生产中使用此功能。
参考:
默认的mongo root用户/密码是什么?
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_MONGODB_ADMINUSERNAME=${MONGO_ROOT_USER}
- ME_CONFIG_MONGODB_ADMINPASSWORD=${MONGO_ROOT_PASSWORD}
version: '3.3' # specify docker-compose version
services:
mongo:
image: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USER}
- MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
- MONGO_INITDB_DATABASE=project
mongo-express:
image: mongo-express
environment:
- ME_CONFIG_MONGODB_SERVER=mongo
- ME_CONFIG_MONGODB_PORT=27017
- ME_CONFIG_MONGODB_ENABLE_ADMIN=true
- ME_CONFIG_MONGODB_ADMINUSERNAME=${MONGO_ROOT_USER}
- ME_CONFIG_MONGODB_ADMINPASSWORD=${MONGO_ROOT_PASSWORD}
- ME_CONFIG_MONGODB_AUTH_DATABASE=admin
- ME_CONFIG_MONGODB_AUTH_USERNAME=${MONGO_ROOT_USER}
- ME_CONFIG_MONGODB_AUTH_PASSWORD=${MONGO_ROOT_PASSWORD}
- ME_CONFIG_BASICAUTH_USERNAME=${MONGOEXPRESS_LOGIN}
- ME_CONFIG_BASICAUTH_PASSWORD=${MONGOEXPRESS_PASSWORD}
depends_on:
- mongo