mongo-express未读取docker-compose自定义密码的问题咨询
问题原因及解决方法
你混淆了配置项的作用:
ME_CONFIG_MONGODB_ADMINUSERNAME和ME_CONFIG_MONGODB_ADMINPASSWORD是mongo-express连接MongoDB服务器时使用的凭证,并非Web UI的登录账号密码。- 控制Web UI登录权限的是另外两个环境变量:
ME_CONFIG_BASICAUTH_USERNAME和ME_CONFIG_BASICAUTH_PASSWORD。
修正后的docker-compose.yaml
version: '3.1' services: mongo: image: mongo restart: always environment: MONGO_INITDB_ROOT_USERNAME: root MONGO_INITDB_ROOT_PASSWORD: rootpw networks: - mongo-db-net mongo-express: image: mongo-express restart: always ports: - 8081:8081 environment: # 连接MongoDB的凭证(ME_CONFIG_MONGODB_URL已包含账号密码,可省略下面两行) # ME_CONFIG_MONGODB_ADMINUSERNAME: root # ME_CONFIG_MONGODB_ADMINPASSWORD: rootpw ME_CONFIG_MONGODB_URL: mongodb://root:rootpw@mongo:27017/ # 配置Web UI的登录账号密码 ME_CONFIG_BASICAUTH_USERNAME: your-custom-username ME_CONFIG_BASICAUTH_PASSWORD: your-custom-password networks: - mongo-db-net networks: mongo-db-net: driver: bridge
补充说明
- 修改配置后需要重新创建容器才能生效:
docker-compose down docker-compose up -d ME_CONFIG_MONGODB_URL的优先级高于单独的账号密码配置项,两者保留其一即可。
内容的提问来源于stack exchange,提问作者greterpiffin
相关产品推荐
相关产品推荐

